Professional Documents
Culture Documents
1. Introdução
A maior parte dos computadores disponı́veis hoje segue o modelo de arquitetura de von
Neumann. Estes computadores apresentam um bom desempenho para tarefas comuns
como processamento de números, transações, etc. No entanto, existe uma gama de
aplicações que não são facilmente modeladas para os computadores convencionais. Estas
aplicações geralmente são aquelas facilmente resolvidas por seres humanos como, por
exemplo, reconhecimento de faces, classificação de dados, filtragem de informações, etc.
Neste contexto, as redes neurais artificiais surgem como uma alternativa às ar-
quiteturas tradicionais. A idéia básica das redes neurais é imitar o funcionamento
do cérebro humano e construir sistemas computacionais capazes de aprender, fazer
generalizações e descobertas. As primeiras pesquisas sobre redes neurais datam da década
de 40 com a descoberta do neurônio. Desde então, esta área já passou por perı́odos
de latência e evidência sendo que, no últimos anos, consolidou-se com o surgimento de
aplicações reais que empregam redes neurais.
Este trabalho apresenta um introdução ao estudo de redes neurais através da
exposição dos principais conceitos e da análise de uma rede neural implementada em
hardware. O texto está organizado da seguinte maneira: primeiramente, discute-se
o funcionamento do neurônio biológico (seção 2); na seqüencia, apresenta-se como
são modelados os neurônios artificiais e a formação das redes neurais; na seção 4,
apresenta-se uma classificação das arquiteturas de redes neurais existentes; as seção
5 e 6 descrevem o processo de treinamento das redes neurais e algumas possı́veis
aplicações, respectivamente; na seção 7, analisa-se a implementação de rede neural do
IBM ZISC036 [Lindblad et al., 1996]; por fim, são traçadas algumas conclusões sobre as
redes neurais.
2. O Neurônio Biológico
O sistema nervoso humano é formado por células nervosas extremamente especializadas:
os neurônios. Os neurônios possuem, além das estruturas comuns nas demais células
do corpo, extensões filamentares que se desenvolvem a partir do corpo celular. Estas
extensões são conhecidas como dendritos e axônios. Os dendritos são responsáveis por
receber os impulsos nervosos e os conduzir até o corpo celular, enquanto os axônios são
responsáveis por transmitir o sinal para os dendritos de neurônios adjacentes. A figura 1
ilustra um neurônio tı́pico e suas estruturas principais.
As terminações do axônios são conectadas com os dendritos de outros neurônios
através de sinápses. Desta forma, axônios e dendritos não chegam a entrar em con-
∗
Trabalho desenvolvido na disciplina de Arquiteturas Especiais de Computadores/PPGC/UFRGS
Figura 1: O neurônio biológico.
tato direto. Existe uma substância quı́mica neurotransmissora que, em quantidade su-
ficiente, permite que o impulso nervoso atravesse a separação. As conexões sinapticas
tem papel fundamental na memorização da informação no cérebro humano. Acredita-
se que, em cada sinápse, a quantidade de neurotransmissores que podem ser libera-
dos para uma mesma freqüência de pulsos representa a informação armazenada pela
sinápse [Barreto, 2002].
Uma rede neural é, portanto, formada por neurônios artificiais que atuam como el-
ementos processadores simples. Cada elemento processador executa uma função simples,
mas uma rede neural como um todo tem capacidade computacional para resolução de
problemas complexos [Braga et al., 2000]. Os elementos processadores são geralmente
organizados em camadas e interligados através das conexões sinápticas. Alguns neurônios
recebem excitação do mundo exterior e são chamados neurônios de entrada. Outros têm
suas respostas usadas para alterar, alguma forma, o mundo exterior e são chamados de
neurônios de saı́da. Os neurônios que não são nem de entrada e nem de saı́da ficam situ-
ados nas camadas internas da rede neural e são conhecidos como neurônios ocultos ou
escondidos [Barreto, 2002].
4. Arquiteturas de Redes Neurais
A forma como os neurônios são organizados em uma rede neural está intrinsecamente
ligada ao tipo de problema que será solucionado e é fator importante para a definição
dos algoritmos de aprendizado utilizados. As arquiteturas de redes neurais existentes
podem ser classificadas em três categorias básicas: feed-forward, feed-back e auto-
organizáveis [Karayiannis and Venetsanopoulos, 1992].
Uma rede neural feed-forward consiste de uma ou mais camadas de unidades de proces-
samento não-lineares. As conexões entre unidades de camadas adjacentes são definidas
por um conjunto de pesos sinápticos. No entanto, para ser considerada feed-forward, uma
rede neural precisa que suas saı́das se conectem-se somente com as unidades da próxima
camada. As primeiras redes de feed-forward a aparecerem na literatura foram Percep-
tron [Rosenblatt, 1962] e Adaline [Widrow, 1987]. No entanto, o potencial das redes
feed-forward só foi revelado com o surgimento das redes neurais multicamadas. A figura
5 contém um exemplo de rede neural feed-forward multicamada.
O ser humano tem a capacidade única de usar suas experiências passadas para adaptar-se
às mudanças imprevisı́veis de seu ambiente. No contexto das redes neurais artificiais,
tal adaptação é chamada de auto-organização [Karayiannis and Venetsanopoulos, 1992].
Existem redes neurais que não podem ser classificadas com feed-forward ou feed-back
e sim como auto-organizáveis. Um exemplo deste tipo de rede neural são os mapas de
Kohonen [Kohonen, 1990], como mostra a figura 7.
Figura 6: Exemplo de rede neural feed-back. Fonte: [Stergiou and Siganos, 1996]
5. Aprendizado
A caracterização de um sistema como rede neural geralmente implica na capacidade de
aprender. Aprendizado é o processo pelo o qual uma rede neural adquire a habilidade de
responder corretamente a estı́mulos, através do ajuste de parâmetros internos de acordo
com algum esquema de aprendizado. O aprendizado ocorre quando a rede neural atinge
uma solução generalizada para uma classe de problemas.
Em redes neurais artificiais o aprendizado não procura obter regras como na abor-
dagem simbólica de Inteligencia Artificial, mas determinar a intensidade de conexões
(pesos) entre os neurônios [Barreto, 2002]. Como mencionado anteriormente, o conheci-
mento fica armazenado nas conexões, logo o uso de redes neurais está intimamente rela-
cionado ao que se chama de conexionismo.
O aprendizado em redes neurais pode ser classificado, de acordo com presença
ou ausência de realimentação explı́cita do mundo exterior, em supervisionado e não-
supervisionado [Barreto, 2002]. Os dois métodos são descritos a seguir:
• aprendizado supervisionado: a rede neural é treinada através da apresentação de
pares de entradas e saı́das, para cada entrada a rede produz uma resposta na saı́da,
que é comparada com a resposta desejada. Através da análise de erros, realiza-se o
ajuste dos pesos sinápticos. Isto é normalmente utilizado para redes feed-forward.
• aprendizado não-supervisionado, não existe saı́da desejada. A rede é treinada
através de excitações ou padrões de entrada para, arbitrariamente, organizar os
padrões em categorias. Para uma entrada aplicada à rede, será fornecida uma
resposta indicando a classe a qual a entrada pertence. Se o padrão de entrada não
corresponde às classes existentes, uma nova classe é gerada. Isto é normalmente
utilizado para redes auto-organizáveis.
Expressões matemáticas, chamadas de regras de aprendizado, descrevem o pro-
cesso de treinamento das redes neurais. Entre as regras de aprendizado mais conhecidas,
pode-se citar a regra de Hebb [Hebb, 1949] e a regra delta [Barreto, 2002], também con-
hecida como Least Mean Square (LMS), que minimiza o erro médio quadrático.
6. Aplicações
As aplicações de redes neurais artificiais se concentram na área de inteligência artificial.
Reconhecimento de padrões é talvez uma das primeiras aplicações de redes neurais. O
Percptron de Rosenblatt [Rosenblatt, 1962], por exemplo, foi concebido principalmente
como instrumento capaz de reconhecer caracteres. Outro exemplo de utilização, bas-
tante citado na literatura, é na filtragem de dados experimentos da fı́sica de alta ener-
gia (HEP). Estes experimentos envolvem colisões de partı́culas sub-atômicas em acel-
eradores de partı́culas. Somente uma pequena parcela de colisões gera algum resultado
interessante. Desta forma, utiliza-se redes neurais para extrair somente os dados úteis aos
pesquisadores.
A seguir são citados mais alguns exemplos de aplicações de redes neurais, para
muitas delas existem softwares comerciais já difundidos:
• reconhecimento de faces, sons, caracteres, etc.;
• mineração de dados (Data Mining);
• análise de mercado e previsão de vendas;
• detecção de fraudes tributárias, bancárias, etc.;
• e diversas outras.
em 0.5 microsegundos. Isto permite realizar cerca de 250000 avaliações por segundo,
o que corresponde a uma arquitetura von Neumann de 2000 MIPS. O mecanismo de
aprendizado da rede é implementado no próprio chip através de um vetor de treinamento.
O processamento de um vetor de treinamento em torno de 2 a 4 microsegundos.
8. Conclusão
Redes neurais é fundamentamente um novo e diferente paradigma para processamento
de informações e talvez seja a primeira alternativa real à programação algorı́tmica e ao
modelo de von Neumann. Este trabalho apresentou uma breve introdução às redes neurais
artificiais. No decorrer do texto, foram apresentados conceitos, aplicações e um exemplo
a implementação em hardware: o IBM ZISC036.
Observou-se que as redes neurais possuem um vasto campo de aplicação e seu
conceito já está bastante difundido, tanto na pesquisa quanto nas empresas. Existem
diversos softwares comerciais que empregam redes neurais para resolver problemas. No
entanto, percebeu-se que pouco esforço é dedicado à implementação de redes neurais em
hardware. Finalmente, analisando as caracterı́sticas de redes neurais, acredita-se que esta
area da computação tenha um futuro promissor.
Referências
Barreto, J. M. (2002). Introducao as Redes Neurais Artificiais. Disponivel em
http://www.inf.ufsc.br/b̃arreto/tutoriais/Survey.pdf. Acessado em Novembro de 2006.
Braga, A. P., Carvalho, A. C. P. L. F., and Ludemir, T. B. (2000). Redes Neurais Artificiais:
Teoria e Aplicacoes. Rio de Janeiro: LTC.
Dawson, C. W., Wilby, R. L., Harpham, C., Brown, M. R., Cranston, E., and Darby, E. J.
(2000). Modelling Ranunculus Presence in the Rivers Test and Itchen Using Artificial
Neural Networks. GeoComputation’2000.
Hebb, D. (1949). Organization of Behavior. New York: John Wiley & Sons.
Hopfield, J. J. (1982). Neural networks and physical systems with emergent collective
computational abilities. Proc. Natl. Acad. Sci., 79:2554–2558.
Karayiannis, N. B. and Venetsanopoulos, A. N. (1992). Artificial Neural Networks:
Learning Algorithms, Performance Evaluation, and Applications. Kluwer Academic
Publishers, Norwell, MA, USA.
Karrer, D., Cameira, R., Vasques, A., and Benzecry, M. (2005). Redes Neurais Artificiais:
Conceitos e Aplicacoes. IX Profundao - Encontro de Engenharia de Producao da
UFRJ.
Kohonen, T. (1990). The self-organizing map. Proceedings of the IEEE, 78(9):1464–
1480.
Kovacs, L. Z. (1996). Redes Neurais Artificiais. Segunda edicao, Editora Collegium
Cognitio.
LeBouthillier, A. E. (2000). IBM’s Zero Instruction Set Computer. Disponivel
em http://ww.cs.utoronto.ca/ tamer/papers/Robot Builder Feb00.pdf. Acessado em
Novembro de 2006.
Lindblad, C. S., Lindsey, M., MinerskJold, G., Sekhniaidze, G., and Szekely, G.
(1996). The IBM ZISC036 Zero Instruction Set Computer. Disponivel em
http://www.ia.hiof.no/prosjekter/hoit/html/nr1 96/zisc036.html. Acessado em Novem-
bro de 2006.
McCulloch, W. and Pitts, W. (1943). A Logical Calculus of the Ideas Immanent in Ner-
vous Activity. Bull. Math. Biophysics, 5:115–133.
Rosenblatt, F. (1962). Principles of Neurodynamics. Spartan Books, Washington, DC.
Stergiou, C. and Siganos, D. (1996). Neural Networks. Disponivel em
http://www.doc.ic.ac.uk/ nd/surprise 96/journal/vol4/cs11/report.html. Acessado em
Novembro de 2006.
Widrow, B. (1987). The original adaptive neural net broom-balancer. In Proceedings of
the IEEE International Symposium on Circuits and Systems, pages 351–357, Philadel-
phia, PA.