P. 1
Survey Redes Neurais

Survey Redes Neurais

|Views: 191|Likes:
Published by Joao

More info:

Published by: Joao on Jul 07, 2008
Copyright:Attribution Non-commercial

Availability:

Read on Scribd mobile: iPhone, iPad and Android.
download as PDF, TXT or read online from Scribd
See more
See less

10/15/2011

pdf

text

original

Sections

Indrodu¸˜o `s ca a Redes Neurais Artificiais

Jorge M. Barreto
Laborat´rio de Conexionismo e Ciˆncias Cognitivas o e UFSC -Departamento de Inform´tica e de Estat´ a ıstica 88040-900 - Florian´polis - SC o

e-mail: barreto@inf.ufsc.br

4/2002 Uma vers˜o preliminar deste texto foi apresentada na Escola de Computa¸ao da Regi˜o a c˜ a Sul em 1997

1

Redes Neurais Artificiais

2

Sum´rio a
1 Redes Neurais e Inteligˆncia Artificial e 1.1 Alguns Fatos Hist´ricos das Redes Neurais . . . . . . . . . . . . . . . . . . . . . . o 1.2 Que Esperar da IAC? . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2 Fundamentos Biol´gicos o 2.1 O Sistema Nervoso . . . . . . . . . . . . 2.2 Descobrimento de Neurˆnio . . . . . . . o 2.2.1 Organiza¸ao geral . . . . . . . . c˜ 2.2.2 Potencial de A¸˜o . . . . . . . . ca 2.2.3 Transmiss˜o da Informa¸ao entre a c˜ 3 Vocabul´rio B´sico a a 3.1 Modelos de Neurˆnios . . . . . . . o 3.1.1 Modelo de McCulloch-Pitts 3.1.2 Modelo Geral de Neurˆnio . o 3.2 Caracteriza¸˜o de RNA . . . . . . ca 4 Topologias das RNAs 4.1 Redes diretas (Feedforward) 4.2 Redes com ciclos . . . . . . 4.3 Redes sim´tricas . . . . . . e 4.4 O que as RNAs n˜o s˜o! . . a a 6 6 7 10 11 11 11 12 13 13 13 14 14 16 17 19 20 21 22 22 23 23 23 24 24 24 25 27 28 29 29 30 30

. . . . . . . . . . . . . . . . . . . . . . . . Neurˆnios o

. . . . .

. . . . .

. . . . .

. . . . .

. . . . .

. . . . .

. . . . .

. . . . .

. . . . .

. . . . .

. . . . .

. . . . .

. . . . .

. . . . .

. . . . .

. . . . .

. . . . .

. . . .

. . . .

. . . .

. . . .

. . . .

. . . .

. . . .

. . . .

. . . .

. . . .

. . . .

. . . .

. . . .

. . . .

. . . .

. . . .

. . . .

. . . .

. . . .

. . . .

. . . .

. . . .

. . . .

. . . .

. . . .

. . . .

. . . .

. . . .

. . . .

. . . .

. . . .

. . . .

. . . .

. . . .

. . . .

. . . .

. . . .

. . . .

. . . .

. . . .

. . . .

. . . .

. . . .

. . . .

. . . .

. . . .

. . . .

. . . .

. . . .

. . . .

. . . .

. . . .

. . . .

. . . .

. . . .

. . . .

5 Aprendizado 5.1 Aquisi¸˜o do Conhecimento: Aprendizado . . . . . . . . . . . . ca 5.1.1 Classifica¸ao quanto ` Independˆncia de quem Aprende c˜ a e 5.1.2 Classifica¸ao Segundo Retroa¸˜o do Mundo . . . . . . . c˜ ca 5.1.3 Classifica¸ao quanto ` Finalidade do Aprendizado . . . c˜ a 5.2 Regras de Aprendizado Conexionistas . . . . . . . . . . . . . . 5.2.1 Aprendizado Hebbiano . . . . . . . . . . . . . . . . . . . 5.2.2 Regra Delta . . . . . . . . . . . . . . . . . . . . . . . . . 5.2.3 Retropropag¸ao . . . . . . . . . . . . . . . . . . . . . . . c˜ 5.2.4 Aprendendo com a Natureza . . . . . . . . . . . . . . . 5.2.5 Aprendizado Competitivo . . . . . . . . . . . . . . . . . 5.2.6 Aprendizado Refor¸ado . . . . . . . . . . . . . . . . . . c 5.2.7 Aprendizado Aleat´rio . . . . . . . . . . . . . . . . . . . o 5.2.8 Aprendizado Evolutivo . . . . . . . . . . . . . . . . . . .

. . . . . . . . . . . . .

. . . . . . . . . . . . .

. . . . . . . . . . . . .

. . . . . . . . . . . . .

. . . . . . . . . . . . .

. . . . . . . . . . . . .

. . . . . . . . . . . . .

. . . . . . . . . . . . .

. . . . . . . . . . . . .

. . . . . . . . . . . . .

Redes Neurais Artificiais 6 M´quina de Resolver Problemas a 6.1 Tipos de Computadores . . . . . . . . . . . . . . . . . . 6.2 Teoria de Problemas . . . . . . . . . . . . . . . . . . . . 6.3 O Computador na Resolu¸ao de Problemas . . . . . . . c˜ 6.4 Equivalˆncia de Computabilidade . . . . . . . . . . . . . e 6.5 Pontos de D´vida . . . . . . . . . . . . . . . . . . . . . . u 6.6 N˜o Equivalˆncia de Complexidade . . . . . . . . . . . . a e 6.7 Alguns Resultados Sobre Complexidade de RNA . . . . 6.8 Aprendizado de RNA como Paradigma de Programa¸ao c˜ 6.9 Um Pouco de Fic¸ao . . . . . . . . . . . . . . . . . . . . c˜ 7 Aplica¸oes das RNAs c˜ 7.1 Reconhecimento de Padr˜es . . . . . . . . . . . . . . . o 7.1.1 Em que Consiste o Reconhecimento de Padr˜es o 7.1.2 Reconhecimento de Padr˜es como Classificador o 7.1.3 Principais Aplica¸oes . . . . . . . . . . . . . . . c˜ 7.1.4 Reconhecimento de Caracteres . . . . . . . . . 7.1.5 Reconhecimento de Faces . . . . . . . . . . . . 7.2 Sistemas Especialistas Conexionistas . . . . . . . . . . 7.2.1 SE Conexionistas . . . . . . . . . . . . . . . . . 7.2.2 SE usando Redes Diretas . . . . . . . . . . . . 7.2.3 SE implementados com BAM . . . . . . . . . . 7.3 Controle de Processos . . . . . . . . . . . . . . . . . . 7.3.1 Controle Neural . . . . . . . . . . . . . . . . . 7.3.2 Topologias de Controle . . . . . . . . . . . . . . 7.3.3 Malha Aberta . . . . . . . . . . . . . . . . . . . 7.3.4 Controle com Retroa¸˜o . . . . . . . . . . . . . ca 7.3.5 Modelos Internos . . . . . . . . . . . . . . . . . 7.4 S´ries Temporais . . . . . . . . . . . . . . . . . . . . . e 7.5

3 30 30 31 32 33 35 35 36 37 38 38 39 39 39 40 40 41 41 41 41 42 43 43 43 43 44 44 45 45 46 46 47 47 47 48 48

. . . . . . . . .

. . . . . . . . .

. . . . . . . . .

. . . . . . . . .

. . . . . . . . .

. . . . . . . . .

. . . . . . . . .

. . . . . . . . .

. . . . . . . . .

. . . . . . . . .

. . . . . . . . .

. . . . . . . . .

. . . . . . . . .

. . . . . . . . .

. . . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . . .

Monitoramento . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

8 Implementa¸˜o ca 8.1 Simula¸ao de RNA . . . . . . . . . . . . . . . . . . c˜ 8.2 Implementa¸˜es por Circuitos . . . . . . . . . . . . co 8.2.1 Implementa¸ao da Sin´pse . . . . . . . . . . c˜ a 8.2.2 Implementa¸ao do Neurˆnio . . . . . . . . . c˜ o 8.2.3 Implementa¸ao do Aprendizado . . . . . . . c˜ 8.2.4 Implementa¸oes Digitais versus Anal´gicas c˜ o

. . . . . .

. . . . . .

. . . . . .

. . . . . .

. . . . . .

. . . . . .

. . . . . .

. . . . . .

. . . . . .

. . . . . .

. . . . . .

. . . . . .

. . . . . .

. . . . . .

. . . . . .

. . . . . .

. . . . . .

Redes Neurais Artificiais 9 Ep´ ılogo Referˆncias bibliogr´ficas e a

4 49 51

Redes Neurais Artificiais .

5

Redes Neurais Artificiais J. M. Barreto
Resumo

Redes neurais artificiais podem ser consideradas como metodologia de resolver problemas caracter´ ısticos da inteligˆncia artificial. Ap´s apresenta¸˜o e o ca de alguns fatos hist´ricos e dos fundamentos biol´gicos s˜o apresentados os o o a conceitos de neurˆnio e rede neural artificial. Sendo a capacidade de apreno der por exemplos a grande motivadora do uso de redes neurais, os principais paradigmas de aprendizado s˜o apresentados. Segue-se uma compara¸˜o das a ca possibilidades destas redes na resolu¸˜o de problemas dando-se uma vis˜o de ca a computabilidade e complexidade em termos de redes neurais. Finalmente s˜o a apresentadas alguns campos de aplica¸˜o e como s˜o atualmente estas redes ca a implementadas.

Redes Neurais Artificiais

6

1

Redes Neurais e Inteligˆncia Artificial e

Pode-se dizer que redes neurais artificiais consistem em um modo de abordar a solu¸˜o de probleca mas de inteligˆncia artificial. Neste caso, em lugar de tentar programar um computador digital e de modo a fazˆ-lo imitar um comportamento inteligente (saber jogar xadrez, compreender e e manter um di´logo, traduzir l´ a ınguas estrangeiras, resolver problemas de matem´tica tais como a se encontram nos primeiros anos dos cursos de engenharia, etc.) procura-se construir um computador que tenha circuitos modelando os circuitos cerebrais e espera-se ver um comportamento inteligente emergindo, aprendendo novas tarefas, errando, fazendo generaliza¸˜es e descobertas, co e frequentemente ultrapassando seu professor. Da mesma forma, estes circuitos neurais artificiais poder˜o se auto-organizar, quando apresentados a ambientes diversos, criando suas pr´prias a o representa¸˜es internas e apresentar comportamentos imprevis´ co ıveis. E, melhor ainda, (ou pior) ter um comportamento que nem sempre pode-se prever e compreender, tal como hoje n˜o a compreendemos mecanismos do nosso pr´prio c´rebro. o e Fic¸˜o cient´ ca ıfica? N˜o! Trata-se sim de nova tecnologia que depois de um tempo de latˆncia, a e emerge encontrando aplica¸˜es concretas, algumas das quais ser˜o mencionadas mais adiante. co a

1.1

Alguns Fatos Hist´ricos das Redes Neurais o

O primeiro esfor¸o conjunto para estudar inteligˆncia artificial (IA) foi o encontro no “Darthc e mouth College”, em 1956. No livro publicado a seguir [83] com o t´ itulo de “Automata Studies”, o primeiro artigo tratava de redes neurais como um paradigma da arquitetura computacional¿ Pode-se dizer que a´ nasceram simultaneamente os dois paradigmas da inteligˆncia artificial: ı e simb´lica e conexionista. o Na IAS (Inteligˆncia Artificial Simb´lica), o comportamento inteligente global ´ simulado, e o e sem considerar os mecanismos respons´veis por este comportamento. Na IAC (Inteligˆncia a e Artificial Conexionista) acredita-se que construindo m´quina que imite a estrutura do c´rebro a e ela apresentar´ inteligˆncia. Progressivamente as duas correntes para IA separaram-se, e as a e pesquisas em redes neurais (corrente conexionista) andaram lentamente enquanto a corrente da manipula¸˜o simb´lica se acelerou. ca o ´ E interessante notar que um motivo para esta separa¸˜o foi o livro de Minsky & Papert [71]. ca Este livro, entretanto, constitui um dos primeiros estudos sobre a complexidade do problema e a correspondente capacidade das redes neurais para resolve-lo: “uma perceptron de uma unica ´ camada ´ incapaz de resolver o problemas linearmente n˜o separ´veis”. Possivelmente admine a a istradores dos USA, respons´veis por distribuir fundos de pesquisa conclu´ a iram que o assunto n˜o era interessante e cortaram os investimentos em redes neurais. Os anos que seguiram o a encontro Darthmouth foram anos de grande otimismo e o trabalho feito estava centralizado principalmente em pesquisas de laborat´rio. Entretanto, o progresso em muitos destes camo pos caminhava lentamente. Um exemplo estava no campo da tradu¸˜o autom´tica, onde os ca a

Redes Neurais Artificiais

7

problemas apresentavam-se muito mais complexos que o esperado. Por outro lado, muito se estava aprendendo sobre linguagens adequadas para pesquisar em IA! Entretanto, ´ necess´rio e a n˜o esquecer que em alguns outros campos de aplica¸˜o a IA obteve sucesso, e que esses seus a ca m´ritos n˜o s˜o mais considerados como pertencentes a IA. Como exemplos, temos o xadrez e a a (sendo considerado agora como um jogo, e n˜o como um desafio) e fazer matem´tica simb´lica, a a o onde diversos programas comerciais fazem nos esquecer que s˜o resultado de t´cnicas de IA. a e

1.2

Que Esperar da IAC?

A IAS j´ deu muitos frutos, alguns atualmente t˜o populares que nem s˜o mais considerados a a a como produtos da IA. Exemplos s˜o: jogo de xadrez, sistemas especialistas que fazem apoio ` a a decis˜o m´dica, programas de matem´tica simb´lica, etc. a e a o E a IAC? Pode-se dizer que se espera da IAC uma performance melhor que a da IAS em problemas mal definidos, onde falta o conhecimento expl´ ıcito de como realizar uma tarefa. Nestes o conhecimento ´ dado atrav´s de exemplos. Alem disso, caracter´ e e ısticas encontradas nos seres vivos s˜o esperadas e dificuldades em realizar tarefas de natureza intr´ a ınsicamente algor´ ıtmicas. As principais caracter´ ısticas s˜o: a • Degrada¸˜o progressiva e qualidade. Significa que a performance de um sistema ca baseado na IAC diminue lenta e monotonicamente em presen¸a de informa¸˜es falsas ou c co ausentes. Para ilustrar a id´ia, tome-se a pesquisa em uma base de dados em que se deseje e obter o nome de um artigo que seja do interesse de um certo leitor caracterizado por seu perfil de interesse. Usando t´cnicas conexionistas, na falta de um documento satisfazendo e aos requisitos da busca, um mais pr´ximo ser´ escolhido. o a ´ • Racioc´ ınio por Default. E outra propriedade intr´ ınseca de RNA, coisa que requer bastante esfor¸o se for usada a IAS. c • Generaliza¸˜o. Uma vez uma rede aprendendo um conceito ela ´ capaz de funcionar com ca e conceitos similares que n˜o foram aprendidos e isto sem esfor¸o suplementar. Roisenberg a c [76], [77] estuda no caso de interceptar um objeto voador esta capacidade.

• Racioc´ ınio impreciso. Mas, o mais importante ´ o racioc´ e ınio impreciso, que pode ser tratado na IAS pela a l´gica nebulosa. o Em resumo, a IAC se baseia no seguinte princ´ ıpio: Princ´ ıpio 1 Princ´ ıpio da R´plica: Se for constru´ um modelo suficientemente preciso do e ıdo c´rebro, este modelo apresentar´ um comportamento inteligente. Se apenas uma pequena parte e a do c´rebro for reproduzida, a fun¸˜o exercida por esta parte emergir´ do modelo. e ca a

Redes Neurais Artificiais

8

Atualmente as duas abordagens est˜o cada vez mais sendo usadas juntamente, e `s duas se a a junta ainda uma outra fam´ de abordagens: as inspiradas na evolu¸˜o biol´gica e constituem ılia ca o 1 que ser˜o abordados no cap´tulo ??, os sistemas evolucion´rio, tamb´m chamados evolutivos a e a ı base da Inteligˆncia Artificial Evolucion´ria ou IAE. e a Tamb´m esta se baseia em um princ´ e ıpio conhecido com o nome de Sele¸˜o Natural, tirado ca dos trabalhos de Darwin [24] e que pode ser enunciado como: Princ´ ıpio 2 Princ´ ıpio da Sele¸˜o Natural: Dada uma popula¸˜o de indiv´duos vivendo em ca ca ı um determinado ambiente, os mais aptos `s condi¸˜es de vida oferecidas, tem mais probabilidade a co de se reproduzir do que os menos aptos. Desta forma, com o correr do tempo e ap´s gera¸˜es o co sucessivas a popula¸˜o tende a ficar cada vez mais adaptada ao ambiente. ca Este paradigma permite a resolu¸˜o de problemas ser feita considerando v´rias solu¸˜es ca a co poss´ ıveis como os indiv´ ıduos da popula¸˜o e o problema a resolver como o ambiente. A adapta¸˜o ca ca seria ent˜o a qualidade da solu¸˜o permitindo considera¸˜es sobre o qu˜o “inteligente” seria a a ca co a solu¸˜o comparada com as demais [31]. ca Com o que foi dito ´ poss´ dividir as fases da hist´ria da IA2 com nos seguintes per´ e ıvel o ıodos [9]: ´ 1. Epoca pr´-hist´rica (Nesta ´poca nada se conhecia sobre os mecanismos da mente, nem e o e sob o prisma fisiol´gico nem psicol´gico e por esta raz˜o vai at´ 1875 quando Camillo Golgi o o a e visualizou o neurˆnio.) o Objetivo: Criar seres e mecanismos apresentando comportamento inteligente. Metodologia e Conquistas: Mecanismos usando mecˆnica de precis˜o desenvolvida nos a a autˆmatos, mecanismos baseados em teares, etc. Apelo ao sobrenatural. o Limita¸oes: Complexidade dos mecanismos, dificuldades de constru¸˜o. Insucesso dos c˜ ca apelos ao sobrenatural. ´ ´ 2. Epoca Antiga (1875-1943) (Epoca em que a L´gica formal apareceu (Russel, G¨del, o o etc) bem como se passou a reconhecer o c´rebro como ´rg˜o respons´vel pela inteligˆncia. e o a a e Hilbert imaginava um mundo paradis´ ıaco, em que tudo poderia ser axomatizado e reduzido ` L´gica. Entretanto, assim como o final do s´culo XIX viu o desmoronamento do a o e mundo Euclidiano, G¨del abalou o mundo de Hilbert com seu teorema da imcompletude o da aritm´tica. Foi a ´poca em que, tal como os fil´sofos gregos fizeram, s˜o colocadas e e o a as bases da IAS e IAC, terminando com a publica¸˜o do trabalho de McCulloch e Pitts ca modelando o neurˆnio [66]): o
Neste texto ser˜o usados indistintamente e como sinˆnimos, os dois termos evolutivo e evolucion´rio. a o a Note-se que os termos usados n˜o se referem a per´ a ıodos da hist´ria da humanidade e sim hist´ria da IA. o o Assim, o tremo “pr´-hist´ria” nada tem a ver com a ´poca em que seres humanos n˜o deixaram documentos e o e a escritos.
2 1

Redes Neurais Artificiais Objetivo: Entender a inteligˆncia humana. e

9

Metodologia e Conquistas: Estudos de psicologia e de neurofisiologia. Nascimento da psican´lise. a Limita¸oes: Grande distˆncia entre as conquistas da psicologia e da neurofisiologia. c˜ a ´ ´ 3. Epoca Romˆntica (1943-1956) (E o otimismo desordenado, que tal um j´vem rapaz a o 3 , crˆ que tudo ´ poss´ romˆntico a e e ıvel. Acaba com a reuni˜o no Darthmouth College): a Objetivo: Simular a inteligˆncia humana em situa¸˜es pr´-determinadas. e co e Metodologia e Conquistas: Inspira¸˜o na Natureza. Nascimento da Cibern´tica. Primeiros ca e mecanismos imitando funcionamento de redes de neurˆnios. Primeiros programas imo itando comportamento inteligente. Limita¸oes: Limita¸˜o das capacidades computacionais. c˜ ca ´ 4. Epoca Barroca (1956-1969) (Tudo ´ f´cil e ser´ conseguido. O livro Perceptrons [71] e a a mostra que nem tudo ´ poss´ e ıvel. Al´m disto, grandes fabricantes de computadores, intere essados em vender suas m´quinas para aplica¸˜es de escrit´rio, tiveram grande interesse a co o em desmistificar o computador que na ´poca chegou a ser chamado pelo grande p´blico e u de “c´rebro eletrˆnico”. Estes dois fatos marcaram o fim da ´poca.): e o e Objetivo: Expandir ao m´ximo as aplica¸˜es da IA tanto usando a abordagem simb´lica a co o quanto a conexionista. Metodologia e Conquistas: Perceptron. Primeiros sistemas especialistas usando a abordagem simb´lica. Grandes esperan¸as da IAS. o c Limita¸oes: Dificuldades em t´cnicas de aprendizado de redes complexas. c˜ e ´ 5. Epoca das Trevas (1969-1981) (Paraliza¸˜o de quase todas as pesquisas em IA por falta ca de verbas. Acabou quando em outubro os japoneses anunciaram seus planos para a Quinta Gera¸˜o de Computadores e em outro ambiente Hopfield publica c´lebre artigo sobr redes ca e neurais. Uma caracter´ ıstica interessante ´ que o renascimento de IA simb´lica se fez em e o ambiente de computa¸˜o e o de redes neurais em um ambiente interdisciplinar. ca Assim como a Idade M´dia da Hist´ria da humanidade viu florescer id´ias novas, esta e o e ´poca n˜o foi de total trevas. Nasceram as primeiras aplica¸˜es dos conjuntos nebulosos e a co de Zadeh [87] nascendo o controle inteligente com Mamdani [54, 64]. Alem disto os sistemas especialistas se firmaram com Shortliffe [84]) Objetivo: Encontrar para a IA aplica¸˜es pr´ticas. co a
Para satisfazer a uma minha aluna que teve a gentileza de ler e sugerir melhoras no texto, troquei “a j´vem o romantica” por rapaz “romˆntico” evitando conota¸ao machista. a c˜
3

Redes Neurais Artificiais

10

Metodologia e Conquistas: Sistemas especialistas. Aplica¸˜es principalmente em labco orat´rios. Os computadores usados principalmente para aplica¸˜es administrativas o co e num´ricas. Interesse dos fabricantes de computadores de desmistificar a m´quina e a 4. levando a pouco interesse em IA Limita¸oes: Interesses econˆmicos. c˜ o 6. Renascimento (1981-1987) (Come¸ou a corrida para IA. Os resultados obtidos nas ´pocas c e anteriores atingiram o p´ blico em geral. Sistemas especialistas se popularizaram. Primeira u conferˆncia internacional em Redes Neurais marca o final do per´ e ıodo. Note-se que redes neurais evoluiu independentemente da IA simb´lica.): o Objetivo: Renascimento da IA, simb´lica e conexionista. o Metodologia e Conquistas: Popularidade da linguagem Prolog, adotada pelos japoneses. Crescimento da importˆncia da L´gica. Prolifera¸˜o de m´quinas suportando a o ca a ferramentas para IA. Alguns poucos pesquisadores continuaram seus trabalhos em RNAs, Grossberg, Kohonen, Widrow, Hinton, etc. No final do per´ ıodo, trabalhos de Hopfield, do grupo PDP, etc., criaram condi¸˜es para a fase seguinte no que diz co respeito `s RNAs. a Limita¸oes: a IAS e a IAC evoluindo separadamente. c˜ ´ 7. Epoca Contemporˆnea (1987 - atual): (Logo no in´ do per´ a ıcio ıodo Gallant [36] publica seu c´lebre artigo sobre sistemas especialistas conexionistas. Foi o ponto de partida para a e uni˜o das duas abordagens de IA, tornando a abordagem dirigida problemas a abordagem a ´ atual. E a abordagem adotada neste trabalho. Objetivo: Alargamento das aplica¸˜es das IAs. Uso em tomografia, pesquisas em campos co de petr´leo, e bases de dados inteligentes. o Metodologia e Conquistas: Redes diretas como aproximador universal. L´gica nebuo losa usada largamente em ind´ strias para controle inteligente. Sistemas especialistas u se torna tecnologia dominada. Bons resultados em problemas mal definidos com sistemas usando hibridismo neural-nebuloso. Novo paradigma de programa¸˜o: proca grama¸˜o conexionista. ca Limita¸oes: Quem sabe???. Uma possibilidade ´ uma grande expans˜o das bases de c˜ e a dados inteligentes.

2

Fundamentos Biol´gicos o

Supondo que grande parte dos leitores deste texto n˜o est˜o mais familiarizados com conceitos a a biol´gicos em que as redes neurais se inspiram, pequena introdu¸˜o aqui ´ feita. o ca e
4

Um exemplo ´ a referˆncia ` IA como sendo “ignorˆncia atrevida”, usual a t´ e e a a ıtulo de humor.

Redes Neurais Artificiais

11

2.1 2.2

O Sistema Nervoso Descobrimento de Neurˆnio o

Um dos primeiros passos na neuroanatomia foi a descoberta do italiano Camillo Golgi em 1875 [50]. Ele encontrou um m´todo, aparentemente ao acaso, pelo qual apenas uma pequena por¸˜o e ca de neurˆnios s˜o corados durante um tempo, e essas c´lulas s˜o completamente coradas. Com o a e a esse m´todo ´ poss´ e e ıvel isolar e observar neurˆnios individuais. Golgi foi contemporˆneo de o a Santiago Ram´n y Cajal, um Espanhol, que dedicou sua vida usando o m´todo de Golgi para o e cada parte do sistema nervoso. Nesta ´poca as jun¸˜es entre neurˆnios eram desconhecidas, e co o principalmente porque o m´todo de Golgi revelou um grande n´ mero de c´lulas isoladas mas e u e sem sugerir jun¸˜es entre estas no sentido de formar uma rede. co Entretanto os estudos de Cajal apresentaram dois resultados principais. Primeiro Cajal adotou a no¸˜o de sistema nervoso, postulando sobre a comunica¸˜o entre as c´lulas pela sinapse. ca ca e A segunda foi de que a interconex˜o entre neurˆnios seria ´ altamente espec´ a o e ıfica e estruturada. Ele descreveu diversas estruturas cerebrais. Isto fez com que as pesquisas se voltassem n˜o a apenas para a estrutura dos neurˆnios mas tamb´m para o desconhecido campo das muitas o e estruturas neuronais. 2.2.1 Organiza¸˜o geral ca

O sistema nervoso juntamente com o sistema end´crino proporciona muitas das fun¸˜es de o co controle do corpo. O sistema nervoso de que o c´rebro faz parte, controla as rea¸˜es r´pidas do e co a corpo, como uma contra¸˜o muscular (fun¸˜o motora) e controla a velocidade e equilibra a taxa ca ca de secre¸˜o de muitas glˆndulas end´crinas. Partes do corpo que tˆm as fun¸˜es controladas ca a o e co pelo sistema nervoso tem tempo de resposta relativamente r´pido. O sistema end´crino, por a o outro lado, controla muitas fun¸˜es do metabolismo do corpo e sua atua¸˜o ´ mais lenta. co ca e Um neurˆnio Existem dois tipos principais o de c´lulas no c´rebro, os neurˆnios e a glia. e e o ´ comum atribuir aos neurˆnios as principais E o fun¸˜es cerebrais j´ que a fun¸˜o da glia ainda co a ca tem muito a ser descoberto. Existem aproximadamente 1011 neurˆnios (um fator de 10 ´ o e razo´vel como expectativa de erro) no c´rebro a e humano. Eles podem ser de diversos tipos. Um neurˆnio t´ o ıpico ´ apresentado na figura ao lae do. O neurˆnio tem um corpo celular chamado o soma e diversas ramifica¸˜es. As ramifica¸˜es conhecidas como dendritos, conduzem sinais das co co extremidades para o corpo celular. Existe tamb´m uma ramifica¸˜o, geralmente unica, chamada e ca ´ axˆnio, que transmite um sinal do corpo celular para suas extremidades. As extremidades do o

Redes Neurais Artificiais

12

axˆnio s˜o conectadas com dendritos de outros neurˆnios pelas sinapses . Em muitos casos, um o a o axˆnio ´ diretamente conectado com outros axˆnios ou com o corpo de outro neurˆnio. o e o o As sin´pses tem um papel fundamental na memoriza¸˜o da informa¸˜o e s˜o principalmente a ca ca a as do c´rtex cerebral e algumas vezes de partes mais profundas do c´rebro que armazenam esta o e informa¸˜o. Pode-se imaginar que em cada sin´pse, a quantidade de neurotransmissores que ca a podem ser liberados para uma mesma frequˆncia de pulsos do axˆnio representa a informa¸˜o e o ca armazenada nesta sin´pse. a Ora, pode-se imaginar, que seguindo um princ´ ıpio frequentemente v´lido em biologia, o de a que o uso de um ´rg˜o favorece seu desenvolvimento, que cada vez que uma sin´pse ´ ativada e o a a e encontra ativado ou consegue ativar outro neurˆnio o n´mero de neurotransmissores liberados o u aumenta na pr´xima vez que o neurˆnio for ativado. Isto representa um aumento da conex˜o o o a entre os dois neurˆnios. Este processo chama-se facilita¸˜o. Um neurˆnio tem de 1000 a 10000 o ca o sin´pses e pode receber informa¸˜o de perto de 1000 outros neurˆnios. a ca o O mecanismo de facilita¸˜o inspirou a conhecida Lei de Hebb: A intensidade de uma conex˜o ca a sin´ptica entre dois neurˆnios aumenta quando os dois neurˆnios est˜o excitados simultaneaa o o a mente. Note- se que a Lei de Hebb ´ b´sica de muitos algoritmos de aprendizagem de RNA. e a 2.2.2 Potencial de A¸˜o ca

Existe dentro e fora da c´lulas concentra¸˜es diferentes de N a+ e K − que provocam um ponto e co de equil´ ıbrio de -85 milivolts, o interior da c´lula negativo com rela¸˜o ao exterior. Qualquer e ca perturba¸˜o da membrana do neurˆnio provoca uma s´rie de modifica¸˜es que desaparecem ca o e co tamb´m rapidamente, e durante as quais o potencial se torna positivo durante um curto espa¸o e c de tempo. A esta onda de varia¸˜o de tens˜o chama-se potencial de a¸˜o. ca a ca A forma¸˜o de um potencial de a¸˜o pode ser causado por uma estimula¸˜o el´trica, qu´ ca ca ca e ımica, calor, etc. Um est´ ımulo tem por efeito a destrui¸˜o das propriedades diel´tricas da membrana, ca e em particular as permeabilidades tanto ao s´dio como ao pot´ssio, que s˜o aumentadas pero a a mitindo a difus˜o destes ions atrav´s da membrana. Ap´s um certo tempo as coisas voltam ao a e o normal devido a mecanismos de transporte ativo (transporte de mol´culas atrav´s da membrana e e celular contra o gradiente de concentra¸˜o e com uso de energia). Esta fase chama-se repolarca iza¸˜o. Logo ap´s a repolariza¸˜o a membrana passa por um per´ ca o ca ıodo de tempo durante o qual ela n˜o ´ mais sens´vel a outras perturba¸˜es e que se chama per´odo refrat´rio. a e ı co ı a Este per´ ıodo refrat´rio tem papel preponderante na transmiss˜o de pulsos el´tricos no axˆnio. a a e o Suponha que por uma raz˜o qualquer apare¸a no axˆnio, perto do soma uma perturba¸˜o a c o ca provocando um potencial de a¸˜o. Ele age com rela¸˜o ao trecho do axˆnio um pouco mais ca ca o longe do soma como uma perturba¸˜o, provocando o aparecimento de novo potencial de a¸˜o um ca ca pouco mais longe e assim por diante at´ a regi˜o junto ` sinapse onde o potencial de a¸˜o tem por e a a ca efeito liberar mol´culas de neurotransmissores. Estes neurotransmissores liberados se difundem e no espa¸o entre neurˆnios indo se colar na membrana de um outro neurˆnio, provocando uma c o o

Redes Neurais Artificiais perturba¸˜o de membrana do outro neurˆnio, e o fenˆmeno continua. ca o o 2.2.3 Transmiss˜o da Informa¸˜o entre Neurˆnios a ca o

13

Quando o potencial de a¸˜o se propaga pelo axˆnio, chega a uma de suas termina¸˜es. A´ ele ca o co ı provoca modifica¸˜es na membrana destas termina¸˜es, as sin´pses. Isto permite a libera¸˜o co co a ca de mol´culas, de v´rios tipos com o nome gen´rico de neurotransmissores que se difundem no e a e espa¸o entre o terminal do axˆnio e um outro neurˆnio, geralmente o terminal de um dendrito. c o o Mol´culas de neurotransmissor ao se colar ao dendrito provocam uma modifica¸˜o na membrana e ca deste que acaba, algumas vezes, provocando um potencial de a¸˜o, outras vezes, dificultando ca seu aparecimento. Este potencial de a¸˜o, se criado, se propaga at´ o soma do neurˆnio que ca e o recebeu o sinal alterando sua frequˆncia de disparo. e Pode-se dizer portanto que a transmiss˜o de informa¸˜o entre neurˆnios depende do tipo de a ca o neurotransmissor e de sua abundˆncia no terminal sin´ptico e da sensibilidade da membrana a a dendr´ ıtica ` excita¸˜es. Desta forma modificando a intensidade com que um neurˆnio ´ capaz de a co o e excitar (ou inibir) um outro neurˆnio, depende de caracter´ o ısticas sin´pticas, e s˜o estes valores de a a conex˜es que globalmente s˜o respons´veis pelo comportamento da rede de neurˆnios. Mudando o a a o valores destas conex˜es muda-se o comportamento da rede. E estas mudan¸as de comportamento o c representam um aprendizado da rede. Como o comportamento de uma rede neural depende diretamente dos valores de suas conex˜es o sin´pticas, o estudo de redes neurais tem tamb´m o nome de Conexionismo. a e

3

Vocabul´rio B´sico a a

A terminologia usada em redes neurais artificiais apresenta varia¸˜es, principalmente em textos co em portuguˆs. Neste trabalho usa-se a terminologia da Teoria de Sistemas tal como apresentada e em [8].

3.1

Modelos de Neurˆnios o

A constru¸˜o de redes neurais artificiais (RNAs) tem inspira¸˜o nos neurˆnios biol´gicos e nos ca ca o o sistemas nervosos. Entretanto, ´ importante compreender que atualmente as RNAs est˜o muito e a distantes das redes neurais naturais (RNNs) e freq¨ entemente as semelhan¸as s˜o m´ u c a ınimas. Se ´ verdade que o primeiro modelo de neurˆnio, proposto por McCulloch e Pitts em 1943 e o [66] ´ tamb´m um modelo simples, cabe ressaltar que a inten¸˜o era de imitar a realidade e e ca biol´gica, preocupa¸˜o n˜o compartilhada pelos muitos pesquisadores atuais. De fato, dois o ca a fatores diferentes motivam a pesquisa hoje em dia: • O primeiro ´ modelar o sistema nervoso com suficiente precis˜o de tal modo a poder e a observar um comportamento emergente que sendo semelhante ao comportamento do ser

Redes Neurais Artificiais vivo modelado, possa servir de apoio `s hip´teses usadas na modelagem. a o • O segundo ´ construir computadores com um alto grau de paralelismo. e

14

O trabalho na modelagem do sistema nervoso come¸ou h´ um s´culo aproximadamente. c a e Depois do trabalho de McCulloch and Pitts [66], Hebb [43], e Rosenblatt [78], muitos cientistas se interessaram pelo campo. O desejo de construir neurocomputadores ´ mais recente [44]. e 3.1.1 Modelo de McCulloch-Pitts

Warren S. McCulloch era um fisiologista e conhecendo as ondas de potencial de membrana ele interpretou o funcionamento do neurˆnio como sendo um circuito bin´rio. Seu modelo [65] ´ o a e portanto bin´rio e ´ apresentado na figura 1. a e
excitação u1 excitação u2 excitação u
i

w1 w
2

Neurônio

wi

D

1

resposta y

excitação un

wn

Figura 1: Modelo de McCulloch e Pitts A entrada do neurˆnio ´ tamb´m bin´ria e as v´rias entradas s˜o combinadas por uma soma o e e a a a ponderada, produzindo a entrada efetiva do neurˆnio: o
n

entrada ef etiva =
1

ωi ui

(1)

O resultado na entrada efetiva sofre um retardo D (algumas vˆzes este retardo ´ desprezado e e tendo-se um neurˆnio est´tico) e serve de argumento a uma fun¸˜o chamada de fun¸˜o de o a ca ca transferˆncia (neste caso de sa´ bin´ria {0 1} para dar a resposta do neurˆnio. e ıda a o 3.1.2 Modelo Geral de Neurˆnio o

O modelo geral de neurˆnio ´ mostrado na figura 2, sendo uma generaliza¸˜o do modelo de o e ca McCulloch e Pitts. Neste modelo as entradas wi ui s˜o combinadas usando uma fun¸˜o Φ, para produzir um a ca estado de ativa¸˜o do neurˆnio que atrav´s da fun¸˜o η vai produzir a sa´ do neurˆnio (corca o e ca ıda o respondente ` freq¨ˆncia de descarga do neurˆnio biol´gico). Um valor auxiliar θ ´ geralmente a ue o o e usado para representar uma polariza¸˜o, valor abaixo do qual a sa´ ´ nula. ca ıda e

Redes Neurais Artificiais

15

u1 u2 u3
• • • •

w1 w2 w3 wn
• • • •

Φ

x

y

un

θ

Figura 2: Neurˆnio artificial o Note-se que isso poderia tamb´m ser obtido por escolha adequada da fun¸˜o η, mas seria mais e ca dif´ de trabalhar. Note-se ainda que as conex˜es sin´pticas s˜o consideradas como externas ao ıcil o a a modelo do neurˆnio, tal como ocorre no sistema nervoso biol´gico e n˜o como fazendo parte do o o a neurˆnio, como usado por alguns autores. Se este detalhe pode ter pouca importˆncia aparente o a no estudo de uma RNA, proporciona a possibilidade de interpretar a matriz de conex˜es, chamao da matriz de conectividade como a matriz de pesos de um grafo, o grafo representativo da rede neural. Geralmente Φ ´ a soma das entradas. Algumas vezes o produto. Raramente uma outra e fun¸˜o, se bem que isto seja poss´ ca ıvel. Geralmente costuma-se dar o nome confluˆncia ` combie a na¸˜o ponderada das entradas de um neurˆnio. A n˜o linearidade do neurˆnio frequentemente ca o a o ´ introduzida na fun¸˜o tangente hiperb´lica,, em degr´us. A Figura 3 mostra algumas fun¸˜es e ca o a co comumente usadas.

f(x)

f(x) v +a

f(x)

v

x u u

x -a

x

Figura 3: N˜o linearidades frequentemente usadas no modelo de neurˆnios de uma RNA. a o O neurˆnio formal ´ um sistema dinˆmico por ter mem´ria materializada pelo retardo (ou o e a o equa¸˜o diferencial). Um neurˆnio ´ est´tico quando o valor de x e de y se referem ao mesmo ca o e a instante que as excita¸˜es ou seja, o retardo ´ nulo. O neurˆnio ´ dito dinˆmico se para o c´lculo co e o e a a de x em um determinado instante ´ necess´rio o conhecimento de x em um instante anterior no e a

Redes Neurais Artificiais

16

caso do neurˆnio ser a tempo discreto. o Por esta defini¸˜o nota-se que o modelo de neurˆnio proposto por McCulloch e Pitts ´ um ca o e sistema dinˆmico se o retardo D n˜o for nulo. a a

3.2

Caracteriza¸˜o de RNA ca

Informalmente uma rede neural artificial (RNA) ´ um sistema composto por v´rios neurˆnios. e a o Estes neurˆnios est˜o ligados por conex˜es, chamadas conex˜es sin´pticas. Alguns neurˆnios reo a o o a o cebem excita¸˜es do exterior e s˜o chamados neurˆnios de entrada e correspondem aos neurˆnios co a o o dos ´rg˜os dos sentidos. Outros tˆm suas respostas usadas para alterar, de alguma forma, o o a e mundo exterior e s˜o chamados neurˆnios de sa´da e correspondem aos motoneurˆnios que s˜o a o ı o a os neurˆnios biol´gicos que excitam os m´ sculos. Os neurˆnios que n˜o s˜o nem entrada nem o o u o a a sa´ s˜o conhecidos como neurˆnios internos. Estes neurˆnios internos ` rede tem grande ıda a o o a importˆncia e s˜o conhecidos na literatura saxˆnica como “hidden” fazendo com que alguns a a o traduzam como “escondidos”. Os neurˆnios internos s˜o importantes por v´rios aspectos: o a a • Importˆncia biol´gica: Por corresponder a uma atividade do sistema nervoso que pode a o apresentar uma independˆncia de excita¸˜es externas. Com efeito, se entre estes neurˆnios e co o houver liga¸˜es formando ciclos, e considerando ainda um certo tempo de resposta de um co neurˆnio, ap´s cessar toda excita¸˜o exterior pode haver nestes neurˆnios internos uma o o ca o evolu¸˜o de um vetor representativo da excita¸˜o destes neurˆnios. Esta excita¸˜o pode ca ca o ca provocar uma evolu¸˜o durante um tempo relativamente longo e pode ser interpretada ca como uma met´fora da mente, onde pensamentos vˆm e voltam, sem est´ a e ımulo exterior. • Importˆncia matem´tica: Desde que se provou que sem estes neurˆnios ´ imposs´ a a o e ıvel uma RNA resolver problemas classificados como linearmente n˜o separ´veis. a a Para caracterizar uma RNA ´ importante especificar os seguintes pontos5 : e • Os componentes da rede: os neurˆnios: ex; est´ticos? dinˆmicos? o a a • A resposta de cada neurˆnio: dicotˆmica? intervalo dos reais? o o • O estado global de ativa¸˜o da rede: vetor cujas componentes s˜o as ativa¸˜es dos ca a co neurˆnios? o • A conectividade da rede dada pelos valores de conex˜es sin´pticas: que define a o a topologia da rede. • Como se propaga a atividade da rede: s´ ıncrona? ass´ ıncrona?
5

Inspirado em Rumelhart & al. [80].

Redes Neurais Artificiais • Como se estabelece a conectividade da rede: aprendizado. • O ambiente externo ` rede: est´tico? dinˆmico? aleat´rio? determin´ a a a o ıstico? • Como o conhecimento ´ representado na rede: localizado? distribuido? e

17

4

Topologias das RNAs

De forma a definir as Redes Neurais Artificiais n´s poderiamos, em princ´ o iıpio, estabelecer (e provar) um teorema mostrando que elas se constituem em sistemas dinˆmicos, da mesma forma a que foi feito para os neurˆnios. Todavia, um problema surgiria aqui: nada seria dito acerca o dos pesos das conex˜es entre os diferentes neurˆnios da rede. Uma outra abordagem seria a de o o considerar uma rede neural como um sistema dinˆmico complexo, onde: a Defini¸˜o 1 Um sistema dinˆmico complexo ´ uma rede de sistemas interconectados. ca a e Da defini¸˜o apresentada decorre que um sistema complexo pode ser representado por um ca grafo direcionado ou d´ ıgrafo, onde os v´rtices representam os sistemas componentes (subsise temas) e os arcos as intera¸˜es entre subsistemas. co Esta ser´ a abordagem utilizada aqui. No entanto, antes de desenvover estes conceitos, faza se necess´rio apresentar alguns conceitos de Teoria de Grafos. Estes conceitos s˜o baseados a a naqueles apresentados por Harary [41]. ´ Nota: E importante observar que, considerando que, em princ´ ıpio, qualquer d´ ıgrafo possa dar lugar a uma topologia de RNA, esta abordagem vem sendo utilizada em textos surgidos nos ultimos anos, como por exemplo [42], [52] entre outros. No entanto, De Azevedo [25] ´ utilizou esta abordagem ainda em 1993. Defini¸˜o 2 Um Grafo G consiste de um conjunto n˜o vazio finito de v´rtices V = vi juntaca a e mente com um conjunto n˜o ordenado de arcos A conectando certos pares de v´rtices. Cada par a e vi , vj de v´rtices em V ´ um arc0 de G, e o par vi , vj ´ dito “juntar” vi e vj . e e e Defini¸˜o 3 Um Grafo G ´ Rotulado quando os p v´rtices s˜o distingu´ ca e e a ıveis uns dos outros por nomes ou r´tulos. o Defini¸˜o 4 Um Grafo G ´ Arco Rotulado quando tamb´m os arcos s˜o distingu´veis um dos ca e e a ı outros por nomes ou r´tulos. o Tendo estabelecido o que siginifica “Grafo”, no nosso contexto, n´s estamos prontos para o definir as Redes Neurais Artifciais. Defini¸˜o 5 Uma Rede Neural Artificial, RN A, ´ um Sistema Dinˆmico Complexo represenca e a tado por um grafo arco rotulado em que cada v´rtice ´ um Neurˆnio Artificial N A. e e o

Redes Neurais Artificiais

18

Nesta defini¸˜o, r´tulos s˜o, naturalmente, valores num´ricos. Eles correspondem aos valores ca o a e das conex˜es entre os diferentes neurˆnios. Todavia, eles podem ser interpretados, tamb´m, o o e como os valores “fuzzy” entre as conex˜es. Neste caso, eles devem pertencer a um conjunto, o que na maioria dos casos, ´ o conjunto [0, 1] 6 . Ambas interpreta¸˜es s˜o v´lidas para nossos e co a a prop´sitos. Todavia, se n´s escolhermos a segunda interpreta¸˜o n´s poder´ o o ca o ıamos repensar a defini¸˜o de Grafos e, por conseq¨ˆncia, a de Redes Neurais, conforme segue: ca ue Defini¸˜o 6 Um Grafo Nebuloso ´ um Grafo Arco Rotulado onde os r´tulos s˜o valores de um ca e o a conjunto nebuloso. Defini¸˜o 7 Uma Rede Neural Nebulosa ´ ou: ca e • uma rede neural representada por um grafo nebuloso iu • uma rede neural contendo ao mnenos um neurˆnio nebuloso. o

Tendo estabelecido defini¸˜es precisas para Redes Neurais e Redes Neurais “Fuzzy” n´s co o podemos definir diferentes tipos de redes. Isto ´ feito atrav´s de escolhas particulares dos e e conjuntos e fun¸˜es envolvidas na defini¸˜o de Redes Neurais como Sistemas Dinˆmicos. Temco ca a se, por conseguinte: Defini¸˜o 8 Uma Rede Neural Cont´ ca ınua no Tempo ´ uma rede neural definida em um subcone junto cont´nuo do eixo do tempo T = . ı Defini¸˜o 9 Uma Rede Neural Discreta no Tempo ´ uma rede neural definida em um subconca e junto discreto do eixo do tempo T = Z. Defini¸˜o 10 Uma Rede Neural Invariante no Tempo ou Rede Neural Estacion´ria ´ uma rede ca a e neural em que a fun¸˜o de transi¸˜o Φ depende de um ´nico elemento de T e a fun¸˜o de sa´da ca ca u ca ı λ ´ independente de T . e Neste trabalho n´s consideramos ambos os tipos de redes, cont´ o ınuas e discretas. Todavia, todas s˜o invariantes no tempo para permitir uma f´cil tratabilidade matem´tica. a a a Aqui uma quest˜o surge. Relembremos a defini¸˜o de “automatum”. Seguindo esta defini¸˜o a ca ca um “automatum” ´ um sistema dinˆmico discreto e invariante no tempo. A quest˜o que surge e a a ´: Pertencem as RNA ` classe dos “automata” ? e a
6

Outros intervalos de valores podem ser, tamb´m, considerados para conjuntos “fuzzy”. e

Redes Neurais Artificiais

19

Ali´s, esta quest˜o ´ muito importante posto que os Computadores baseados em Instru¸˜o a a e ca 7 est˜o intrinsecamente ligados a Teoria de “Automata”. A resposta ´ afirmativa. Pode ser (CBI) a e claramente provado que qualquer rede neural discreta e invariante no tempo ´ um “automatum”. e Este resultado permite que o formalismo que ´ usado para representar RNA e Computadores e baseados em Redes Neurais (CBRN) seja o mesmo daquele usado para representar CBI’s. Este fato torna mais f´cil o estudo da integra¸˜o das duas abordagens quando do desenvolvimento a ca de computadores h´ ıbridos. Nesta dire¸˜o, um resultado surpreendente ´ que qualquer “automatum” finito pode ser, ca e essencialmente, substitu´do por uma RNA. A prova deste estabelecimento foi feita por McCulloch ı e Pitts [66]. Arbib apresentou, em [3], uma prova mais did´tica. A partir destes resultados ´ a e f´cil mostrar as capacidades das RNA para mem´ria e computa¸˜o. a o ca At´ agora n´s propusemos defini¸˜es matem´ticas para NA’s e RNA’s. Estas defini¸˜es e o co a co permitem o estudo de diferentes tipos particulares de RNA’s como sistemas dinˆmicos. A a abordagem dinˆmica para RNA serve como um guia para o estudo da capacidade de mem´ria e a o para formular id´ias no sentido de uma Teoria da Computabilidade adaptada a RNA. A seguir e ser˜o apresentadas as topologias de RNA’s que podem ser derivados de nossos modelos formais. a Nota: Faz-se necess´rio dizer que algumas topologias particulares receberam maior aten¸˜o dos a ca pesquisadores e s˜o conhecidas com nomes espec´ a ıficos.

4.1

Redes diretas (Feedforward)

Defini¸˜o 11 Redes Diretas (“Feedforward”) s˜o aquelas cujo grafo n˜o tem ciclos. ca a a Freq¨ entemente ´ comum representar estas redes em camadas e, neste caso, s˜o chamadas u e a redes em camadas. Neurˆnios que recebem sinais de excita¸˜o s˜o chamados da camada de o ca a entrada, ou primeira camada. Neurˆnios que tˆm sua sa´ como sa´ da rede pertencem a o e ıda ıda camada de sa´ ou ultima camada. Neurˆnios que n˜o pertencem nem a camada de entrada ıda ´ o a nem a de sa´ s˜o neurˆnios internos ` rede podendo se organizar em uma ou mais camadas ıda a o a internas (“hidden layers”). A figura ?? mostra uma rede direta com 3 camadas de neurˆnios. Observe que nesta figura o os neurˆnios s˜o apresentados com os seus diversos elementos constituintes conforme a figura ??. o a Estas redes s˜o atualmente as mais populares, principalmente por existirem m´todos de aprena e dizado bastante difundidos e f´ceis de usar. Um m´todo bastante usado, mas muito ineficiente, ´ a e e o “backpropagation”. Por esta raz˜o alguns autores chegam mesmo a chamar, impropriamente, a este tipo de rede, de “backpropagation”. Al´m disto, estas redes s˜o capazes de aproximar, e a com maior ou menor precis˜o, dependendo do n´mero de neurˆnios da rede, qualquer fun¸˜o a u o ca n˜o-linear. Entretanto, mesmo no caso de usarem neurˆnios dinˆmicos (equa¸˜o diferencial de a o a ca
7

Para saber mais dos conceitos de CBI e CBRN veja [5], [10] [25], etc

Redes Neurais Artificiais

20

primeira ordem ou a uma diferen¸a finita), tˆm uma dinˆmica muito limitada n˜o podendo c e a a representar todos os sistemas dinˆmicos. a
N4 u1 N9 N1 N5 N10 u2 N2 N6 N11 u3 N3 N7 N12 N14 y2 N13 y1

N8

Figura 4: Uma rede direta com 3 camadas de conex˜es o Com efeito, seja por exemplo, uma rede s´ ıncrona de 4 camadas com neurˆnios definidos por o uma equa¸˜o contendo um retardo. Neste caso, a rede se comportar´ como um filtro n˜o-linear ca a a FIR de ordem 4, sendo sua aproxima¸˜o linear um sistema com todos os polos na origem do plano ca Z n˜o podendo aproximar convenientemente sistemas de resposta indicial de dura¸˜o infinita. a ca

4.2

Redes com ciclos

Defini¸˜o 12 Redes com ciclos (ou com realimenta¸˜o, ou com retroa¸˜o, ou com “feedback”) ca ca ca s˜o aquelas cujo grafo de conectividade cont´m, ao menos, um ciclo. a e Um exemplo bem conhecido de rede com ciclos ´ a proposta por Hopfield [47]. e Defini¸˜o 13 Redes recorrentes s˜o aquelas que, al´m de apresentarem ciclos, envolvem neurˆnios ca a e o dinˆmicos. a Por esta raz˜o McCulloch chamou-as de “networks with cycles”, ou redes com ciclos. Duas a destas redes tˆm particular importˆncia: as redes propostas por Hopfield [47, 48] e as redes e a bi-direcionais, de Kosko [58], que podem ser usadas em um dos dois principais paradigmas de sistemas especialistas: treinamento com exemplos de uma rede direta e representa¸˜o do ca conhecimento de modo localizado pelo uso de rede com ciclos, geralmente uma rede sim´trica. e Com efeito, o mais popular paradigma usado na implementa¸˜o de sistemas especialistas com ca redes neurais usa redes diretas e foi proposto por Gallant [36], existindo bastantes resultados neste dom´ ınio [37]. Baseia- se no fato de que as redes diretas s˜o aproximadores universais de a

Redes Neurais Artificiais

21

fun¸˜es. Assim, apresenta-se, na entrada da rede, os dados e ela ´, ent˜o, treinada para a sa´ co e a ıda representar o parecer do sistema especialista. O funcionamento da RNA se torna uma met´fora a de um ato reflexo que, depois de aprendido, se repete inconscientemente. E este aspecto, que ´ uma das for¸as do paradigma, pois pode ser largamente empregado, constitui-se, tamb´m, em e c e um dos seus pontos fracos, pois, tal como um ato reflexo, ´ dif´cil explicar o porquˆ do ato. e ı e Assim ´ que, com o uso das redes diretas, existem dificuldades em extrair explica¸˜es de como e co 8. o sistema chegou a uma conclus˜o a O segundo paradigma usa redes bidirecionais, caso particular das redes com ciclos, contendo neurˆnios dinˆmicos [27]. Neste caso, tanto os dados, como os poss´ o a ıveis pareceres do especialista s˜o representados pela ativa¸˜o de neurˆnios, o conhecimento sendo representado por valores das a ca o intensidades de conex˜es sin´pticas. Uma consulta ´ feita excitando neurˆnios representativos o a e o dos sintomas presentes no caso, deixando a rede evoluir at´ atingir um ponto de equil´ e ıbrio. A excita¸˜o de algum (ou alguns) neurˆnios, representando pareceres, ser´ a resposta do sistema. ca o a Este segundo paradigma ´ mais recente e ainda pouco explorado. Os principais pontos fracos e s˜o: a - ´ dif´ saber se a rede vai, ou n˜o, parar em um ponto de equil´ e ıcil a ıbrio; - o tempo correspondente ao transit´rio da rede pode ser longo. o As principais vantagens s˜o: a - Uso de representa¸˜o de conhecimento localizada, facilitando extra¸˜o de explica ca ca¸˜es; co - ausˆncia de m´todo de aprendizagem ; e e - transit´rio da rede pode ser interpretado como met´fora de racioc´ o a ınio, podendo-se esperar deste paradigma, mais do que um simples ato reflexo.

4.3

Redes sim´tricas e

Defini¸˜o 14 Uma rede sim´trica ´ aquela cuja matriz de conectividade ´ uma matriz sim´trica. ca e e e e

Trata-se de um caso particular das redes com ciclos. Com efeito, os sistemas especialistas mencionados anteriormente e que usam redes com ciclos, usam redes sim´tricas. Isto foi feito e 9. para assegurar estabilidade do transit´rio da rede o
Note-se que no artigo de Gallant [36], sugest˜es de como extrair explica¸oes s˜o apresentadas. Mas ´ dif´ o c˜ a e ıcil usar estas sugest˜es em um caso geral. o 9 Pode ser mostrado que tal caso se trata de sistema discreto em que a aproxima¸ao linear tem polos de m´dulo c˜ o menor que a unidade. Assim, conforme o teorema de Liapunov da estabilidade local [40] [39], o sistema ter´, ao a menos, um ponto de equil´ ıbrio est´vel. a
8

Redes Neurais Artificiais

22

4.4

O que as RNAs n˜o s˜o! a a

Sim, as RNAs s˜o inspiradas na redes neurais biol´gicas (RNB). Mas at´ onde esta inspira¸˜o a o e ca ´ usada? Na realidade, freq¨ entemente esta inspira¸˜o ´ muito limitada e as RNA s˜o uma e u ca e a caricatura da realidade biol´gica. o • RNN n˜o s˜o circuitos digitais. O modelo apresentado por McCulloch-Pitts [66] usava a a sinais bin´rios. O neurˆnio biol´gico expressa sua ativa¸˜o pela freq¨ˆncia que emite pulsos a o o ca ue e esta freq¨ˆncia tem uma varia¸˜o cont´ ue ca ınua entre dois valores positivos. • RNN n˜o podem ter excita¸˜o negativa. Alguns modelos usam valores de excita¸˜o a ca ca negativa. • RNN n˜o s˜o homogˆneas. As RNN n˜o possuem todos os seus neurˆnios de mesmo a a e a o tipo como nas RNA, apenas em algumas regi˜es existe uma certa uniformidade no tipo de o neurˆnios existentes nas RNN. o • RNN n˜o s˜o circuitos s´ a a ıncronos ou ass´ ıncronos. Com efeito, as RNB s˜o sistemas a a tempo cont´ ınuo, logo n˜o cabe a classifica¸˜o de s´ a ca ıncrono ou ass´ ıncrono. • Nem neurˆnios nem sinapses tem dois valores. Logo a semelhan¸a com o “spin” do o c eletron n˜o ´ v´lida [56]. a e a • Circuitos cerebrais n˜o s˜o capazes de c´lculos recursivos. Isto ´ consequˆncia a a a e e dos neurˆnios n˜o serem sistemas discretos, levando a rede a n˜o ser um autˆmato. Logo, o a a o equivalˆncia com problemas sol´ veis por fun¸˜es recursivas n˜o tem sentido biol´gico. e u co a o Entretanto, os neurˆnios das RNAs fazem das RNAs sistemas equivalentes ` m´quina de o a a Turing e portanto capazes de resolver fun¸˜es recursivas. co

5

Aprendizado

Aprender ´ o ato que produz um comportamento diferente a um est´ e ımulo externo devido ` a excita¸˜es recebidas no passado e ´ de uma certa forma sinˆnimo de aquisi¸˜o de conhecimento. co e o ca Em IA ´ comum se falar de aprendizado pela m´quina e aprender poder ser considerado como e a atributo fundamental de um comportamento inteligente. RNA possuem a capacidade de aprenderem por exemplos, e fazerem interpola¸˜es do que co aprenderam. No aprendizado conexionista n˜o se procura obter regras como na abordagem a simb´lica da IA, mas determinar a intensidade de conex˜es entre neurˆnios. Como o conhecio o o mento ´ armazenado nas conex˜es, o uso de RNA est´ intimamente ligado ao que se chama de e o a conexionismo.

Redes Neurais Artificiais

23

5.1
5.1.1

Aquisi¸˜o do Conhecimento: Aprendizado ca
Classifica¸˜o quanto ` Independˆncia de quem Aprende ca a e

Quanto ` Independˆncia de quem Aprende tem-se: a e • • • • • Memoriza¸˜o. ca Por ser contado. Por exemplos. Por analogia. Por explora¸˜o e descoberta. ca

As RNAs aprendem principalmente por uma mistura dos tres ultimos. ´ 5.1.2 Classifica¸˜o Segundo Retroa¸˜o do Mundo ca ca

Um segundo modo de classificar o aprendizado ´ pela presen¸a ou ausˆncia de realimenta¸˜o e c e ca expl´ ıcita do mundo exterior. Uma realimenta¸˜o expl´ ca ıcita significa que em certos intervalos de tempo um professor assinala erros e acertos. No caso que que a realimenta¸˜o n˜o ´ exca a e pl´cita ´ o aprendizado em ausˆncia de professor. Costuma-se chamar estes dois casos de ensino ı e e supervisionado e n˜o supervisionado. a • Aprendizado Supervisionado Neste caso o ‘professor’ indica explicitamente um comportamento bom ou ruim. Por exemplo, seja o caso de reconhecimento de caracteres e para simplificar seja reconhecer entre um A ou X. Escolhe-se uma rede direta, com dois neurˆnios na camada de saida, o uma ou v´rias camadas internas e uma conjunto de neurˆnios na camada de entrada a o capaz de representar com a precis˜o desejada a letra em quest˜o. Apresentam-se estas a a letras sucessivamente a uma retina artificial constituida por uma matriz de elementos fotosens´ ıveis, cada um ligado a um neurˆnio de uma RNA direta (feedforward). Observao se qual dos dois neurˆnios de saida est´ mais excitado. Se for o que se convencionou o a representar a letra que for apresentada nada deve ser corrigido, caso contrario modifica-se os valores das conex˜es sin´pticas no sentido de fazer a saida se aproximar da desejada. o a Foi exatamente isto que fez Rosenblatt com o seu Perceptron. Como a cada exemplo apresentado uma corre¸˜o ´ introduzida depois de observar a saida da rede este ´ um caso ca e e de ensino supervisionado. • Aprendizado n˜o Supervisionado ´ quando para fazer modifica¸˜es nos valores das a e co conex˜es sin´pticas n˜o se usa informa¸˜es sobre se a resposta da rede foi correta ou o a a co n˜o. Usa-se por outro lado um esquema, tal que, para exemplos de coisas semelhantes, a a rede responda de modo semelhante. Aprendizado n˜o supervisionado se chama tamb´m a e

Redes Neurais Artificiais

24

descobridor de regularidades ou redes auto-organizadas devido ` propriedade b´sica de seu a a funcionamento. O ensino supervisionado tem atraido aten¸˜o de muitos pesquisadores. Uma motiva¸˜o ca ca talvez seja o fato que o aprendizado supervisionado pode ser encarado como um problema de otimiza¸˜o e usar ferramentas que j´ mostraram sua eficacidade, tanto em programa¸˜o linear ca a ca e n˜o linear. Basta para isso considerar o aprendizado com a minimiza¸˜o do erro entre a saida a ca da rede e uma saida desejada. Entretanto pouco se usou at´ o momento em ferramentas de e otimiza¸˜o de sistemas dinˆmicos para treinamento de RNAs, tais como Programa¸˜o Dinˆmica ca a ca a e o Teorema do M´ximo de Pontriagin. a 5.1.3 Classifica¸˜o quanto ` Finalidade do Aprendizado ca a

Um terceiro modo de classifica¸˜o ´ quanto ` finalidade do aprendizado. Assim temos um auto ca e a associador, um hetero associador ou um detetor de regularidades. • Em um auto-associador uma cole¸˜o de exemplos ´ apresentado ` rede, a qual ´ suposta ca e a e memorizar os exemplos. Depois, quando um destes exemplos for novamente apresentado de modo deteriorado sup˜e-se que a rede restitua o original sem deteriora¸˜o. Neste caso o ca aprende-se a funcionar como um filtro. • Um hetero-associador ´ uma variante do auto-associador em que se memoriza um conjunto e de pares. O sistema aprende a reproduzir o segundo elemento do par mesmo que o primeiro se j´ apresentado de modo contendo pequenas altera¸˜es. Este hetero-associador ´ tamb´m a co e e conhecido como um reconhecedor de padr˜es, onde o primeiro elemento apresentado ´ o e elemento a reconhecer e o segundo um elemento do conjunto de padr˜es considerado. o • O detetor de regularidades ´ um reconhecedor de padr˜es em que os padr˜es poss´ e o o ıveis n˜o a ´ definido a priori.O sistema deve se auto-organizar, e criar os poss´ e ıveis padr˜es. o

5.2

Regras de Aprendizado Conexionistas

Essencialmente o aprender de redes neurais consiste em colocar valores de conex˜es sin´pticas. o a Em alguns casos estes valores s˜o colocados representando um certo conhecimento, como no a caso usado em sistemas especialistas. Em outros usa-se uma algoritmo para encontr´-los. A a este algoritmo chama-se algoritmo de aprendizagem. 5.2.1 Aprendizado Hebbiano

A lei de Hebb, mencionada precedentemente ´ talvez a mais antiga regra de aprendizagem usada. e Uma extens˜o desta lei ´: a e

Redes Neurais Artificiais Ajuste a intensidade da conex˜o entre os neurˆnios A e B de uma quantidade proa o porcional ao valor da ativa¸˜o simultˆnea dos dois neurˆnios. Se no entanto A tenta ca a o excitar B e n˜o consegue a conex˜o ´ enfraquecida. a a e

25

Uma caracter´ ıstica importantissima da lei de Hebb ´ que ela goza da propriedade de localie dade. Isto significa que para alterar o valor de uma conex˜o sin´ptica apenas informa¸˜es locais a a co a ` sinapse em jogo s˜o usadas dando plausibilidade biol´gica ao algoritmo. a o Assim tem-se: ∆wij = ηxi oj onde: wij intensidade da conex˜o entre os neurˆnios i e j a o ∆wij acr´scimo da intensidade da conex˜o entre os neurˆnios i e j e a o η parˆmetro definindo a intensidade da corre¸˜o chamado taxa de aprendizado a ca xi estado de ativa¸˜o do neurˆnio i ca o oj saida do neurˆnio j o Apesar da plausibilidade biol´gica o uso da lei de Hebb nesta forma apresenta v´rios incono a venientes costumando-se usar vers˜es mais sofisticadas, tais como a Regra Delta. o Muitos pesquisadores em RNA n˜o se preocupam com plausibilidade biol´gica e em muitos a o casos tem raz˜o. Afinal avi˜es voam melhor que p´ssaros e os primeiros tiveram asas inspiraa o a dos nos p´ssaros. E voam melhor por n˜o terem de bater asas e sim usarem motores a jato, a a desconhecidos como solu¸˜o biol´gica. Seria mesmo poss´ ca o ivel dizer que, se o objetivo ´ obter e um artefato com propriedades de generaliza¸˜o, capazes de aprenderem a realizar tarefas mal ca definidas, a plausibilidade biol´gica pode ser desnecess´ria. Exemplos que se enquadram neste o a caso s˜o in´ meros. a u Entretanto suponha-se, por exemplo que se esteja interessado em um melhor compreens˜o de a mecanismos envolvidos na inteligˆncia. Usa-se um algoritmo que n˜o ´ biologicamente plaus´ e a e ıvel e tira-se conclus˜es sobre mecanismos mentais! Que validade ter˜o estas conclus˜es se foram o a o obtidas usando algo que ´ irreal? mesmo que os resultados reproduzam coisas que ocorrem no e aprendizado de seres vivos o que se deveria concluir n˜o ´ que se tem uma id´ia mais precisa de a e e ´ como o aprendizado ocorreu, E que o aprendizado nada mais ´ do que criar um sistema com um e comportamento determinado. Mas muitos sistemas internamente diferentes podem apresentar o mesmo comportamento externamente, logo o comportamento biol´gico que continua ignorado o 5.2.2 Regra Delta (2)

A express˜o usada na Lei de Hebb ´ muito simplificada. Com efeito, considerando uma sinapse a e real tem-se:

Redes Neurais Artificiais

26

• O valor da modifica¸˜o da intensidade da conex˜o sin´ptica para mesmas excita¸˜es dos ca a a co neurˆnios envolvidos pode variar com o tempo. o • A modifica¸˜o da intensidade da conex˜o sin´ptica ∆wij de wij pode depender de wij o ca a a que ser´ um efeito n˜o linear (anteriormente tem-se um sistema bi-linear por apresentar a a um produto de duas intensidades). Isto ocorre como um efeito de satura¸˜o do valor de ca conex˜o sin´ptica. a a • Pode-se imaginar que a modifica¸˜o da intensidade da conex˜o sin´ptica dependa tamb´m ca a a e de neurˆnios vizinhos. o Um modelo um pouco mais completo seria: ∆wij = Φ(xi , di , wij , oj , t) (3)

Note-se que di n˜o ´ local ` sinapse, mas local com rela¸˜o ao neurˆnio i. a e a ca o Uma express˜o um pouco mais simples seria obtida com a fun¸˜o Φ dependendo da diferen¸a a ca c entre a excita¸˜o real do neurˆnio i e a que seria desejada. Com isto tem-se a Regra de Widrowca o Hoff ou Regra Delta que pode ser expressa como: ∆wij = η(di − xi )oj (4)

Existem muitas outras variantes para a regra de aprendizado expressa pela equa¸˜o3. Por ca exemplo, Grossberg propoz a seguinte regra de aprendizado:. ∆wij = ηxi (oj − wij ) (5)

Nesta regra de aprendizado toda a informa¸˜o necess´ria ` modifica¸˜o de uma sinapse ´ ca a a ca e local ` sinapse, sendo portanto um regra de aprendizado plaus´ biologicamente. a ıvel ´ interessante notar que a regra delta implementa uma otimiza¸˜o em H2 isto ´, minimiza E ca e o erro m´dio quadr´tico. Com efeito, seja o erro m´dio quadr´tico correspondente ao exemplo e a e a ‘p ’: Ep = 1 2 (dpj − opj )2 (6)

j

Este erro ´ fun¸˜o do valor das conex˜es e portanto para calcular seu m´ e ca o ınimo deve-se encontrar os valores que anulam a primeira derivada. Assim tem-se: ∂Ep ∂wij ∂Ep ∂oip∂wij ∂oip ∂opj = −(dpj − opj ) ∂wij =

(7) (8)

Redes Neurais Artificiais

27

Considerando a aproxima¸˜o de primeira ordem para a fun¸˜o o = Υ(w)) e tomando o ca ca coeficiente de proporcionalidade como uma constante (o sinal negativo ´ escolhido para ter o e mesmo sinal da express˜o usada na regra delta) η, tem-se: a ∂Ep = η(dpj − opj ) ∂wij (9)

A Regra Delta ´ biologicamente plaus´ pois usa apenas informa¸˜o local ` sinapse para o e ıvel ca a aprendizado. Seu ponto de partida ´ a generaliza¸˜o da Lei de Hebb e efetua ama otimiza¸˜o e ca ca que pode ser interpretada como o modelo matem´tico de um mecanismo de sele¸˜o. a ca 5.2.3 Retropropag¸˜o ca

Retropropag¸˜o (“Backpropagation”) pode ser considerada como a generaliza¸˜o da Regra Delta ca ca para redes diretas com mais de duas camadas. Neste caso, ao menos uma camada de neurˆnios o n˜o est´ envolvida com a entrada ou saida e ´ portanto interna ` rede. Esta camada e suas a a e a conex˜es quando aprendem a efetuar uma fun¸˜o, agem como se houvesse uma representa¸˜o o ca ca interna da solu¸˜o do problema. ca Para uma apresenta¸˜o de como a retropropaga¸˜o funciona recomenda-se a leitura do artigo ca ca original de Rumelhart et al. [81]. Sem entrar em detalhes a retropropaga¸˜o ´ uma regra de ca e aprendizado supervisionado. Apresenta-se ` rede um exemplo e verifica-se a saida da rede, a saida esta que ´ comparada ` saida esperada dando um erro. Calcula-se o gradiente deste erro e a com rela¸˜o aos valores sin´pticos da camada de saida que ´ atualizada por um passo escolhido ca a e podendo-se ent˜o calcular o erro da saida da pen´ ltima camada, e assim por diante propagando a u para tras o erro (origem do nome backpropagation) por todas as camadas de conex˜es. A seguir o apresenta-se mais um exemplo (pode ser o mesmo repetido) e continua-se o processo at´ que o e erro seja menor que uma tolerˆncia desejada. a Esta ´ talvez a mais popular regra de aprendizado. A maioria dos programas para tratar RNA e disp˜em de uma implementa¸˜o da backpropagation ou na forma original (usando gradiente) o ca ou em uma forma modificada para melhorar a performance da regra. alem de ser a primeira regra inventada para efetuar treinamento supervisionado de redes diretas com mais de duas camadas e consequentemente n˜o limitada a resolver problemas linearmente separ´veis, tem a a ainda a vantagem de que, se a fun¸˜o de ativa¸˜o for uma fun¸˜o anal´ ca ca ca ıtica deriv´vel, a derivada a pode ser calculada explicitamente, evitando todos os problemas inerentes ´ deriva¸˜o num´rica. a ca e Tal ´ o caso da fun¸˜o log´ e ca ıstica. ypi = 1 1 + e−(
iwji ypi +θj )

(10)

onde θj ´ a polariza¸˜o (‘bias’). e ca Com efeito, chamando a express˜o entre parˆntesis na equa¸˜o 10 netpi a derivada ´: a e ca e

Redes Neurais Artificiais

28

∂ypi = ypj (1 − ypj ) ∂netpi Consequentemente o erro em uma unidade de saida ´ dado por: e δpj = (dpj − ypj )ypj (1 − ypj ) e em uma unidade interna: δpi = ypj (1 − ypj ) kδpk wkj

(11)

(12)

(13)

O m´ximo da derivada ocorre para ypi = 0.5 e o m´ a ınimo para 0 ou 1. Como na backpropagation a corre¸˜o a cada passo ´ proporcional ` derivada, os pesos mudam mais para as unidades ca e a que tem uma ativa¸˜o de valor intermedi´rio o que contribue para a convergˆncia do algoritmo. ca a e Convem ainda notar que retropropaga¸˜o pode ser usada (teoricamente) para neurˆnios onde ca o as entradas s˜o combinadas usando multiplica¸˜o, para redes com realimenta¸˜o ou recurrentes. a ca ca No primeiro caso, como observado por Janson & Frenzel [51] a fun¸˜o erro pode apresentar ca muitos m´ ınimos locais e n˜o deve ser usada. a Finalmente cabe salientar que nem toda rede direta pode ser treinada pela retropropaga¸˜o, ca pois devido ao c´lculo da derivada ´ necess´rio que a fun¸˜o de ativa¸˜o seja deriv´vel (o a e a ca ca a ´ treinar redes com ciclos por retropropaga¸˜o, Perceptron est´ excluido). Por outro lado ´ possivel a e ca como mostrado no artigo mencionado acima. Portanto, ´ impreciso chamar redes diretas de redes e retropropaga¸˜o como se faz freq¨ entemente na literatura. ca u 5.2.4 Aprendendo com a Natureza

Em seu interessantissimo livro, “Le hasard et la n´c´ssit´”, Monod [73] seguindo id´ias Darwinie e e e anas [24], discute como aleatoriedade e luta pela vida servem para os seres vivos aprenderem e com isto evoluirem. A mesma id´ia pode ser usada no treinamento de RNAs. Aplicada a e popula¸˜es esta id´ia leva aos algoritmos gen´ticos. Aqui ser´ apresentada a vers˜o usada em co e e a a estudo de manter a posi¸˜o em p´. ca e O processo ´ o corpo da crian¸a de p´. A entrada ´ o desejo de ficar nesta posi¸˜o. As e c e e ca perturba¸˜es s˜o do tipo vento, algum peso carregado, etc. A realimenta¸˜o modela os sentidos. co a ca Incorpora-se informa¸˜es visuais, do labirinto, proprioceptivas relativas `s posi¸˜es das juntas, co a co etc. As informa¸˜es do labirinto incluem as provenientes de ´rg˜os vestibulares tais como os co o a canais semicirculares capazes de detetar acelera¸˜o angular e os ´rg˜os otol´ ca o a ıticos capazes de detetar acelera¸˜o linear. ca Usou-se rede direta como controlados. O comportamento global do sistema controlado ´ e fun¸˜o do valor das conex˜es que s˜o inicializadas aleatoriamente como uma matriz W (0) e ca o a observa-se o comportamento durante um certo intervalo de tempo registrando-se o erro m´dio e

Redes Neurais Artificiais

29

quadr´tico (0). A seguir gera-se uma outra matriz aleat´ria ∆W criando uma nova matriz de a o conex˜es (η ´ um fator de corre¸˜o): o e ca W (1) = W (0) + ∆W.η (14)

Simula-se novamente o sistema. Se o novo erro is for menor que (0), a nova matriz sin´ptica a ´ adotada como W (1). No caso contr´rio come¸a-se novamente tirado outra matriz aleat´ria e a c o ∆W . Repete-se o mesmo algoritmo ate melhorar e atingir erro menor que uma tolerˆncia quando a se aumenta o tempo de observa¸˜o. ca O processo se repete at´ que apenas pequenas oscila¸˜es em torno da posi¸˜o em p´ sejam e co ca e observadas. 5.2.5 Aprendizado Competitivo

No aprendizado competitivo, usado nas redes popularizadas por Kohonen [55] neuronios s˜o ina ibidos por outros neuronios de modo a que a competi¸˜o entre eles leva a apenas um acabar excica tado. Assim, enquanto uma rede neural baseada em um aprendizado Hebiano, v´rios neurˆnios a o de saida podem estar simultaneamente ativos, no caso do aprendizado competitivo, somente um neurˆnio de saida fica ativo de cada vez. o Fundamentalmente existem tres elementos que caracterizam o aprendizado competitivo: 1. Existe um conjunto de neurˆnios idˆnticos, ligados por valores de conex˜es sin´pticas de o e o a valores distribuidos de modo aleat´rio. o 2. Existe um valor m´ximo bem definido para a ativa¸˜o dos neurˆnios. a ca o 3. Existe um mecanismo que permite que os neurˆnios entrem em competi¸˜o pelo direito de o ca permanecerem excitados. No aprendizado competitivo entradas possuindo alguma semelhan¸a tendem a excitar o mesc mo neurˆnio na saida. Assim ´ que este paradigma de aprendizado pode servir para sugerir o e classifica¸˜es, tal como estudado no caso do estudo do sono [21], [22], [20], [23] em que os v´rios co a tipos de sono ´ ainda assunto de debate. e 5.2.6 Aprendizado Refor¸ado c

No Aprendizado Refor¸ado ou “Reinforcement learning” consiste no aprendizado atrav´s do c e m´todo da tentativa e erro de modo a otimizar um ´ e ındice de performance chamado sinal de refor¸o. c Este paradigma de aprendizado tem profunda motiva¸˜o biol´gica, em que comportamentos ca o provocando satisfa¸˜o tem como consequencia um refor¸o das conex˜es que os produziram, e ca c o

Redes Neurais Artificiais

30

aqueles provocando insatisfa¸˜o uma modifica¸˜o do valor das correspondentes conex˜es. Um ca ca o exemplo ´ o estudo do controle e seu aprendizado da posi¸˜o erecta [17]. e ca 5.2.7 Aprendizado Aleat´rio o

O aprendizado ´ dito aleat´rio quando os passos no sentido de obter o comportamento aprendido e o se baseiam em valores tomados aleat´riamente que s˜o testados para verificar sua adequabilidade. o a Assim, em essˆncia o aprendizado aleat´rio segue os seguintes passos: e o • Selecione os valores das conex˜es sin´pticas de modo aleat´rio. o a o • Verifique o valor da performance da rede. • Provoque uma varia¸˜o aleat´ria nas conex˜es sin´pticas e verifique o novo valor da perforca o o a mance da rede. SE melhorou retenha este novo valor de conex˜es. Caso contr´rio escolha o a um crit´rio para escolher noiva varia¸˜o. e ca • Verifique se um crit´rio de parada especificado inicialmente foi satisfeito e neste caso pare e o aprendizado. De uma certa forma o aprendizado aleat´rio coincide com o aprendizado com a Natureza, o mencionado acima. 5.2.8 Aprendizado Evolutivo

Aprendizado Evolutivo ´ o paradigma de aprendizado que, tirando inspira¸˜o da evolu¸˜o bie ca ca ol´gica ´ capaz de modificar a topologia e os valores das conex˜es sin´pticas de modo a fazer o e o a uma rede se tornar apta a resolver um problema. Este assunto pode servir tanto como algoritmo de aprendizado como para determinar a topologia da rede a ser usado para resolver determinado problema [7, 38].

6

M´quina de Resolver Problemas a

O sucesso das RNAs faz crer que um computador usando estas redes, como bloco b´sico, possa a resolver problemas que computadores que n˜o usem esta tecnologia s˜o incapazes, ou ao menos, a a teriam muita dificuldade para resolver. Isto nos leva a um estudo comparativo de possibilidades e torna-se conveniente precisar a terminologia empregada.

6.1

Tipos de Computadores

O estudo das possibilidades de RNAs na solu¸˜o de problemas implica na existˆncia de computaca e dores usando estas redes. Chama-se neurocomputador um computador em que o funcionamento interno ´ feito por redes neurais munido de dispositivos de entrada e sa´ [44], [45]. e ıda

Redes Neurais Artificiais

31

Por outro lado, devemos mencionar computadores que n˜o usam esta tecnologia, que possuem a uma ou mais unidades centrais de processamento, mem´ria. o Muitos destes computadores que n˜o podem ser chamados de ‘convencionais’ por inclu´ a ırem alto grau de sofistica¸˜o tˆm em comum o fato que seu funcionamento se baseia no conceito de ca e instru¸˜o. Por esta raz˜o eles ser˜o chamados de Computadores Baseados em Instru¸˜es ou CBI ca a a co como proposto em [5]. Em alguns casos pode ser conveniente usar simultaneamente as duas tecnologias tendo-se ent˜o um computador h´ a ıbrido.

6.2

Teoria de Problemas

Informalmente pode-se dizer que IA serve para resolver problemas, imitando de uma certa forma a inteligˆncia dos seres vivos (geralmente seres humanos). Mas o que ´ um problema? [6]. e e A palavra “problema” ´ t˜o familiar que pode at´ parecer estranho perguntar sobre seu e a e significado. Durante muito tempo se tratou de problemas, achou-se a solu¸˜o de muitos, provouca se que existem ou n˜o solu¸˜o para muitos problemas, e muitos ainda desafiam a ciˆncia. Polya a ca e [74] sugere que antes de tentar buscar a solu¸˜o de um problema procure-se responder as seguintes ca perguntas: • Quais s˜o os dados? a • Quais s˜o as solu¸˜es poss´ a co ıveis? • O que caracteriza uma solu¸˜o satisfat´ria? ca o Estas perguntas podem ser tomadas como guia para formalizar a no¸˜o de problema [86]: ca Defini¸˜o 15 Um problema ´ o objeto matem´tico P = {D, R, q}, consistindo de dois conjuntos ca e a n˜o vazios, D os dados e R os resultados poss´ a ıveis e de uma rela¸˜o bin´ria q ⊂ D × R, a ca a condi¸˜o, que caracteriza uma solu¸ao satisfat´ria. ca c˜ o Para ilustrar este conceito seja o caso de encontrar as raizes de um polinˆmio com coeficientes o reais. Achar a solu¸˜o do problema da busca das ra´ ca ızes de um polinˆmio com coeficientes reais o consiste em associar a cada conjunto de coeficientes de um polinˆmio particular p(x)) de grau n, o n n´ meros complexos cn de modo a satisfazer a condi¸˜o de que o valor de p(x) fazendo x = cn u ca para todo n seja nulo. Define-se ent˜o a solu¸˜o de um problema como a fun¸˜o f : D → R, tal a ca ca que ∀d ∈ D tem-se (d, f (d)) ∈ q. O conceito de problema apresentado se refere a problemas em geral e n˜o a exemplos esa 5 + 3x2 + 3 ´ um caso pec´ficos de problemas. Por exemplo achar as raizes do polinˆmio 2x ı o e particular do problema de achar ra´ de um polinˆmio de coeficientes reais. ızes o Como a solu¸˜o a um problema ´ uma fun¸˜o, se for poss´ implementar esta fun¸˜o tem-se ca e ca ıvel ca a solu¸˜o do problema. Este fato leva, na abordagem simb´lica, ` programa¸˜o funcional e ´ a ca o a ca e base da abordagem conexionista.

Redes Neurais Artificiais

32

Com efeito, suponha-se implementada uma m´quina abstrata tendo como primitivas um a 10 de fun¸˜es, al´m de um mecanismo de constru¸˜o de novas fun¸˜es conjunto bem escolhido co e ca co (recursividade seria um destes mecanismos). A fun¸˜o solu¸˜o do problema poderia ser impleca ca mentada em tal m´quina, e esta solu¸˜o estaria usando o paradigma funcional de programa¸˜o. a ca ca Por outro lado, a abordagem conexionista ´ fundamentada no fato de que redes neurais, e e em particular, redes diretas podem ser consideradas como aproximadores universais de fun¸˜es co [18]. Desta forma, basta criar uma rede direta, suficientemente rica e trein´-la para representar a a fun¸˜o. ca

6.3

O Computador na Resolu¸˜o de Problemas ca

O computador pode ser considerado como m´quina de resolver problemas, logo, ´ natural imaga e inar que tanto a possibilidade de resolver um problema espec´ ıfico, como quanto vai ser gasto em recursos na tarefa, dependem da m´quina usada. Ao fato de que um problema possa ser a resolvido com recursos finitos chama-se computabilidade [53] e a quantidade de recursos envolvidos complexidade. Fala-se tamb´m em computabilidade pr´tica; por exemplo, um problema e a que requeira um tempo de 100 anos do mais r´pido computador dispon´ n˜o ´ praticamente a ıvel a e comput´vel. a Para estudar se em um CBI e em um neurocomputador um problema ´ comput´vel e qual a e a complexidade da solu¸˜o, ´ necess´rio explicitar como um neurocomputador e um CBI enfrentam ca e a a tarefa de resolver problemas. Em ambos pode-se distinguir os trˆs pontos seguintes: e a)-Em um CBI tem-se: 1 - o computador virtual (circuitos e programas), 2 - o ato de fazer o computador apto a resolver um problema espec´ ıfico (carregar o programa no computador), 3 - resolver o problema (rodar o programa). b)-Em um neurocomputador tem-se: 1 - a rede de neurˆnios com entradas e sa´ o ıdas (simulado ou materialmente implementado), 2 - um meio de fixar os pesos das conex˜es, muitas vezes usando um algor´tmo de o ı aprendizagem (equivalente a carregar o programa), 3 - usar a rede j´ educada para resolver o problema com os dados a serem usados na a entrada da rede (equivalente a rodar o programa). A computabilidade de um problema depende dos pontos 1 e 2. Com efeito, a possibilidade de resolver um problema depende do apoio material que se disp˜e e se existe um programa (caso de o
A express˜o “bem escohido” equivale, de modo informal a dizer “ satisfazendo `s seguintes condi¸˜es:” e a a co enumerar as condi¸˜es necess´rias para que a afirma¸˜o que se segue seja v´lida. co a ca a
10

Redes Neurais Artificiais

33

um CBI) ou se existe um conjunto de pesos de conex˜es (caso de um neurocomputador) capaz o de resolver o problema. Por outro lado a complexidade do problema depende do ponto 3, ou seja rodar o programa ou excitar a rede com os dados a serem usados. Se existe uma teoria de computabilidade e complexidade bem desenvolvida, esta teoria ´ e voltada para os CBI. Com rela¸˜o aos neurocomputadores existem apenas resultados isolados. ca

6.4

Equivalˆncia de Computabilidade e

A Tese de Church-Turing diz que todo problema comput´vel pode ser resolvido por m´quina de a a Turing. Se as redes neurais s˜o ou n˜o equivalentes a uma m´quina de Turing e em conseq¨ˆncia a a a ue s˜o capazes de resolver qualquer problema comput´vel e apenas eles, tem despertado grande a a interesse recentemente. Visto a luz dos trabalhos publicados por Arbib [2], [3] pode-se dizer que em termos de computabilidade CBI e neurocomputadores s˜o equivalentes. Isso quer dizer que um neurocoma putador n˜o sabe resolver nenhum problema que n˜o pudesse ser resolvido com um CBI e vice a a versa. Esta afirma¸˜o pode ser descrita mais precisamente por dois teoremas. ca Theorema 1 Todo problema que pode ser resolvido por uma rede neural poder´ ser resolvido, a com a precis˜o que se desejar, por um CBI. a A prova deste resultado ´ f´cil [2, 3]. Com efeito, sabe-se que toda RNA pode ser simulada e a em um CBI, geralmente usando um programa que efetua multiplica¸˜es matriciais, implementa co fun¸˜es, etc. E isto com a precis˜o desejada. Usando esta simula¸˜o e os dispositivos de entrada co a ca e sa´ do CBI tem-se um neurocomputador (simulado). Ora todo problema que este neuroıda computador resolve est´ na realidade sendo resolvido por um CBI, que ´ a m´quina hospedeira a e a da simula¸˜o. Assim, pode-se dizer que todo problema resolvido por um neurocomputador pode ca ser resolvido por um CBI. A rec´ ıproca deste teorema ´: e Theorema 2 Todo problema que pode ser resolvido por um CBI poder´ ser resolvido, por uma a RNA munida de convenientes dispositivos de entrada e sa´da. ı Com efeito, usando neurˆnios artificiais (e dos mais simples, aqueles que possuem apenas o sa´ ıdas bin´rias) ´ poss´ a e ıvel construir os circuitos l´gicos ‘e’, ‘ou’ e ‘n˜o’ al´m de circuitos bio a e est´veis. a Com efeito, a figura 5 mostra como implementar estes circuitos b´sicos. O primeiro, implea mentando um circuito n˜o consiste em um neurˆnio com entrada feita atrav´s de uma conex˜o a o e a inibit´ria, de valor sin´ptico unit´rio. O neurˆnio ´, como em todos os trˆs considerados na o a a o e e figura, definido por:

Redes Neurais Artificiais

34

NÃO u1 0,5 u -1 Ψ y 0,5 u2

E u1 0,5 y Ψ 0,5 u2

OU y Ψ

“Bias” = 0,6 Ψ

“Bias” = 0,4

Σu

˜ Figura 5: Circuitos NAO, E. OU implementados com neurˆnios artificiais. o - entrada do neurˆnio uT : soma dos produtos das excita¸˜es u pelos valores das o co conex˜es sin´pticas; o a - uma entrada auxiliar, chamada “bias” que ´ usada para alterar a fun¸˜o de sa´ e ca ıda do neurˆnio; o - neurˆnio est´tico, isto ´, a sa´ ocorre no mesmo instante que ocorre a entrada (o o a e ıda tempo entre estes dois eventos ´ muito pequeno); e - a sa´ ´ obtida considerando a fun¸˜o de sa´ do neurˆnio, dada pela express˜o ıda e ca ıda o a abaixo onde uT leva em considera¸˜o o “bias”: ca se uT < 0 ent˜o y = 0 sen˜o y = 1 a a Com estes circuitos pode-se construir um CBI [32] usando t´cnicas que os engenheiros de e microeletrˆnica conhecem e juntando-se dispositivos de entrada e sa´ o ıda. Ora, seja um CBI, assim constru´do, programado para resolver um problema espec´fico. Este problema estar´ ı ı a sendo resolvido por um conjunto de neurˆnios artificiais ligados de um certo modo, logo por o uma RNA. Logo, pode-se concluir que todo problema que pode ser resolvido por um CBI pode ser resolvido por um neurocomputador. Desta forma fica provada, de modo intuitivo, a equivalˆncia dos CBI e neurocomputadores e em termos de computabilidade. Prova formal foi apresentada em [66] para o caso de neurˆnios o com dois estados.

Redes Neurais Artificiais

35

6.5

Pontos de D´ vida u

Para concluir esta discuss˜o sobre a equivalˆncia de redes neurais artificiais (RNA) e m´quina a e a de Turing, ´ conveniente apresentar argumentos que mostram que esta equivalˆncia ´ apenas e e e aproximada. • Existem RNAs cujos valores de ativa¸˜o, sa´ e entradas s˜o elementos de um intervalo ca ıda a dos n´ meros reais. Portanto a cardinalidade destes conjuntos ´ ℵ1 , ou seja a cardinalidade u e do cont´ ınuo. Por outro lado, no caso da m´quina de Turing, tem-se cardinalidades finitas, a ou seja, conjuntos enumer´veis (mem´ria interna t˜o grande quanto se deseje) sendo a a o a cardinalidade no m´ximo ℵ0 , ou seja a cardinalidade dos inteiros. Ora, como as cardinala idades s˜o diferentes, n˜o existe bije¸˜o entre estes conjuntos, sendo as RNAs mais ricas a a ca que a m´quina de Turing. Uma RNA pode ser simulada em m´quina de Turing levando a a em considera¸˜o uma certa aproxima¸˜o. ca ca • No caso de neurˆnios naturais (ou biol´gicos), formadores das redes neurais naturais (RNN) o o ou redes neurais biol´gicas (RNB), a observa¸˜o referente ` diferen¸a de cardinalidades o ca a c deixa de ser v´lida. Com efeito, a transmiss˜o de informa¸˜o sin´ptica se faz por mol´culas a a ca a e de neurotransmissores e, portanto, ´ quantizada, tendo cardinalidade finita ou no m´ximo e a ℵ0 . Resta a d´ vida com rela¸˜o ao conjunto de excita¸˜es poss´ u ca co ıveis: ser´ que a frequˆncia a e de descarga dos neurˆnios pode variar continuamente, ou dar´ saltos entre frequˆncias o a e pr´ximas? o • A maior parte das RNAs com que se trabalha, s˜o redes s´ a ıncronas. Ora, se isto ´ semelhante e 11 tal n˜o ocorre com as RNN em que aos CBI que trabalham sincronizados por um rel´gio o a o funcionamento ´ ass´ e ıncrono. Destas observa¸˜es pode-se tirar v´rias conclus˜es, dentre as quais os teoremas e o corol´rio co a o a que existem redes neurais que n˜o podem ser implementadas em CBI. Consequentemente existem a problemas que podem ser resolvidos por neurocomputadores que n˜o podem ser resolvidos pela a M´quina de Turing. a O fato de uma rede neural suave poder ser aproximada com a precis˜o desejada por uma a outra rede discreta, leva a definir uma equivalˆncia em termos de computabilidade pr´tica, dois e a computadores sendo equivalentes, s˜o capazes de resolver os mesmos problemas. Entretanto, a em termos de computabilidade pr´tica, neurocomputadores e CBI s˜o equivalentes. a a

6.6

N˜o Equivalˆncia de Complexidade a e

Nas se¸˜es precedentes foi discutido o problema de computabilidade de CBI e neurocomputaco dores chegando-se a uma equivalˆncia pr´tica em termos de computabilidade. E em termos de e a complexidade?
11

Claro que em computa¸˜o distribu´ tal n˜o ´ verdade. ca ıda a e

Redes Neurais Artificiais

36

Embora pouco seja conhecido sobre complexidade quando se usa um neurocomputador, sabese que em termos de complexidade as coisas s˜o diferentes em termos de CBI e neurocomputaa dores. Para ver que as coisas s˜o diferentes basta considerar um exemplo simples. Seja o caso de a um circuito implementando uma RNA direta s´ ıncrona com trˆs camadas. Suponha-se ainda e que ela foi treinada para associar padr˜es (por exemplo um sistema especialista de diagn´stico o o associando sintomas aos correspondentes diagn´sticos). Como n˜o h´ realimenta¸˜es, o tempo o a a co para a rede dar uma resposta ´ sempre o mesmo: trˆs ciclos de rel´gio! E isso para qualquer e e o n´mero de sintomas e doen¸as. u c Ora, este resultado ´ completamente diferente se for usado um CBI. Por exemplo, se for usado e Prolog, o tamanho da ´rvore de busca aumenta com o n´ mero de sintomas e diagn´sticos. Podera u o se-ia retrucar que no caso do neurocomputador, para muitos sintomas/diagn´sticos poss´ o ıveis o tamanho da rede aumenta, e isto ´ verdade ao menos em parte. Porque se uma rede maior pode e fazer crer em um resultado mais preciso daquele que obt´m se for usada uma rede menor, n˜o e a se sabe ainda ao certo qual o tamanho da rede ideal para resolver um dado problema. Al´m e disto, esta afirma¸˜o sobre precis˜o ´ baseada em resultados anteriores e pode ser considerada ca a e como uma heur´ ıstica. Existem muito poucos estudos sobre complexidade de problemas voltada para a solu¸˜o por ca neurocomputadores. Note-se que n˜o se trata de falar da complexidade de problemas ligados `s a a RNA, tais como a complexidade de um algoritmo de aprendizado de redes. A complexidade a que o presente estudo se refere ´ a quantidade de recursos em termos de e RNA necess´rios para poder resolver um determinado problema, eventualmente considerando-se a uma certa precis˜o. Estes recursos incluem o tipo de rede a ser escolhido, a topologia da rede, a etc. Um estudo que se tornou famoso foi o apresentado por Minsky e Papert em 1969 [71], [72] e que desviou a maioria das pesquisas de redes neurais para pesquisas em IA usando manipula¸˜o ca simb´lica. Al´m deste trabalho, que pode ser considerado o primeiro grande passo na dire¸˜o de o e ca uma teoria da complexidade voltada para RNA, alguns outros trabalhos isolados tˆm aparecido. e Para exemplos, ver as referˆncias que se seguem: [1], [67]. e

6.7

Alguns Resultados Sobre Complexidade de RNA

A complexidade das RNA diz respeito a dois pontos: 1. Dado um problema, definir a topologia da rede necess´ria para sua solu¸˜o. Por exemplo, a ca se a rede deve agir como modelo de um sistema de controle adaptativo, e a entrada da rede ´ a sa´ do processo, ser´ poss´vel usar uma rede direta? e ıda a ı 2. Dado um problema que pode ser resolvido por uma determinada topologia de RNA, e uma precis˜o desejada, qual a tamanho m´ a ınimo da rede que deve ser usada?

Redes Neurais Artificiais

37

Alguns teoremas com rela¸˜o ` complexidade das RNAs foram apresentados em [7] que ca a permitem sugerir uma classifica¸˜o baseada em separabilidade e dinˆmica. ca a 1. Problemas est´ticos linearmente separ´veis. a a Trata-se de problemas envolvendo a implementa¸˜o de uma fun¸˜o (por ser um problema ca ca est´tico) e que podem ser resolvidos por um perceptron de uma camada de conex˜es. a o 2. Problemas est´ticos linearmente n˜o separ´veis. a a a Trata-se de problemas envolvendo a implementa¸˜o de uma fun¸˜o (por ser um problema ca ca est´tico) e que podem ser resolvidos por uma rede direta, com neurˆnios est´ticos, exigindo a o a ao menos uma camada de neurˆnios internos. o 3. Problemas dinˆmicos com dinˆmica finita. a a Os problemas com dinˆmica finita s˜o aqueles que a dura¸˜o da resposta do sistema a a ca ap´s uma entrada dura um tempo finito. Um exemplo s˜o os filtros FIR (“Finite Impulse o a Response”). Estes problemas pode ser resolvidos por rede direta com neurˆnios dinˆmicos. o a 4. Problemas dinˆmicos com dinˆmica infinita. a a Os problemas com dinˆmica infinita s˜o aqueles que a dura¸˜o da resposta do sistema a a ca ap´s uma entrada pode durar um tempo infinito. Um exemplo s˜o os filtros IIR (“Infinite o a Impulse Response”). Estes problemas devem ser abordados por rede com retroa¸˜o e com ca neurˆnios ou rede est´tica e conjunto de retardos. Neste caso o problema da estabilidade o a da rede, ou seja se a rede encontrar´ ou n˜o solu¸˜o e quanto tempo ser´ necess´rio ´ a a ca a a e problema em aberto.

6.8

Aprendizado de RNA como Paradigma de Programa¸˜o ca

Ser´ que a diferen¸a em complexidade justifica esfor¸os para construir neurocomputadores? A a c c resposta pode ser encontrada no modo de fazer neurocomputadores aptos a resolver problemas. O ato de fazer um CBI apto para resolver um problema ´ bem conhecido como a atividade e de programar. Programar pode ser considerado como o ato de descrever um algoritmo ou como meio de se comunicar com o computador. Como modo de descrever um algoritmo fica impr´prio o falar em “programar um neurocomputador”, mas n˜o se for considerado como o modo de se a comunicar com ele. Assim considere-se o conceito de “programar” de um modo mais amplo que seja aplic´vel tamb´m aos neurocomputadores. Ora, neurocomputadores se preparam para a e resolver problemas ajustando os valores das conex˜es sin´pticas entre seus neurˆnios, o que pode o a o ser feito essencialmente de dois modos: • Colocando diretamente os valores como uma representa¸˜o do conhecimento com sugerica do no livro de exerc´cios da s´rie PDP [82], exemplo das gangs Jets e Sharks e que foi ı e

Redes Neurais Artificiais

38

modificado para uso em sistemas especialistas conexionistas com sucesso [25], [15], [13], [11]. • Usando um algoritmo de aprendizagem [46]. Mas se isso ´ tamb´m programar, que paradigma de programa¸˜o ser´ este? e e ca a ´ costume mencionar v´rios diferentes paradigmas de programa¸˜o: imperativa, funcional, E a ca l´gica, declarativa, orientada a objeto, etc. Estes paradigmas n˜o s˜o excludentes, existindo, o a a por exemplo, funcional orientada objeto, imperativa com parte declarativa, etc. Entretanto, considerando a proximidade com o funcionamento de um CBI pode-se falar em imperativa e declarativa. Na programa¸˜o imperativa se especificam as a¸˜es que o computador deve efetuar para reca co solver determinado problema. Na programa¸˜o declarativa declara-se o que deve ser uma solu¸˜o ca ca para o problema e cabe ao computador transformar esta defini¸˜o do problema em instru¸˜es ca co imperativas a serem executadas. Por exemplo, um interpretador Prolog recebe um programa Prolog em estilo quase declarativo e o transforma, usando entre outras coisas o Princ´pio da ı Resolu¸˜o proposto por Robinson [75] em um programa imperativo. ca E programar um neurocomputador? Isso pode ser considerado como um novo paradigma de programa¸˜o, em que n˜o ´ mais necess´rio nem definir o algor´ ca a e a ıtmo nem definir o problema precisamente. Basta introduzir no computador rela¸˜es entre conceitos ou usar exemplos de co problemas parecidos j´ resolvidos para serem usados na fase de aprendizado. A RNA, usando a sua capacidade de generaliza¸˜o se torna capaz de resolver o problema desejado. At´ o presente ca e momento n˜o se conhece teoria permitindo associar a precis˜o da solu¸˜o a esta capacidade de a a ca generaliza¸˜o, o problema tendo sido abordado de modo experimental, usando simula¸˜o [76], ca ca [77].

6.9

Um Pouco de Fic¸˜o ca

Uma discuss˜o de neurocomputadores e computadores h´ a ıbridos motiva especula¸˜es. Quem n˜o co a gostaria de um robˆ dom´stico? Poderia limpar a casa, por a mesa, por a lou¸a na m´quina, o e c a trazer os chinelos depois de abrir a porta para seu mestre, e com as capacidades neurais de aprender e se adaptar a novas manias do mestre. Mas ele deveria aceitar programa¸˜o declarativa ca tamb´m para que se pudesse colocar, por exemplo, as leis da rob´tica inventadas por Azimov... e o e nunca fazer mal a um ser humano.

7

Aplica¸oes das RNAs c˜

Atualmente as aplica¸˜es das RNAs est˜o invadindo todos os dom´ co a ınios, saindo das primeiras em reconhecimento de padr˜es, para ir a distribui¸˜o de energia el´trica, mercado de capitais, o ca e

Redes Neurais Artificiais

39

aplica¸˜es navais, sistemas especialistas, etc. Neste cap´ co ıtulo ser˜o abordadas algumas destas a aplica¸˜es. co

7.1
7.1.1

Reconhecimento de Padr˜es o
Em que Consiste o Reconhecimento de Padr˜es o

Reconhecimento de padr˜es ´ talvez uma das primeiras aplica¸˜es de redes neurais. Com efeito, o e co o Perceptron de Rosenblatt [78, 79] foi concebido principalmente como instrumento capaz de reconhecer letras. A principal raz˜o ´ que reconhecimento de padr˜es ´ uma tarefa geralmente a e o e desempenhada muito melhor usando as capacidades cognitivas do homem do que executando um algor´ ıtmo. Por exemplo, seres humanos s˜o excelentes no reconhecimento de rostos, m´ sicas, a u a caligrafia de alguem conhecido, etc. C˜es s˜o excelente em reconhecer odores e gatos s˜o a a a capazes de sentir o humor de pessoas fugindo daquelas que exprimem caracter´ ısticas agressivas. Isso pode ser atribu´ a um sistema bastante desenvolvido de reconhecimento de padr˜es. ıdo o Por outro lado os esfor¸os para fazer computadores baseados no conceito de instru¸˜o tem c ca encontrado s´rias dificuldades. e 7.1.2 Reconhecimento de Padr˜es como Classificador o

A figura 6 representa esquematicamente um reconhecedor de padr˜es. O transdutor ´ munido de o e um sensor que traduz a forma de energia suporte de informa¸˜o sobre o objeto (ex: foto-el´trica ca e ou c´lulas da retina se informa¸˜o visual, termina¸˜es nervosas do ouvido interno ou microfone e ca co se informa¸˜o sonora) e traduz esta forma de energia para outra capaz de ser processada (neuca rotransmissores e sinais el´tricos de sistema biol´gico ou el´tricos de circuitos artificiais). O e o e processamento inclui geralmente uma primeira fase em que atributo relevantes s˜o selecionados a para processamento e este processamento age como uma fun¸˜o, associando ao valor de um ca conjunto de atributos relevantes um elemento de um conjunto de padr˜es poss´ o ıveis, o qual ´ e apresentado como resposta do classificador. O processamento de sinais visuais tem grande importˆncia na implementa¸˜o de robˆs a ca o autˆmos e requerem um processamento macisso. Devido a isto esta tem side desde algum tmpo o a pricipal motivadora da implementa¸˜o de RNAs em pastilhas de silicio usando tecnologia VLSI ca [70]. O paradigma mais comum de aprendizado no caso do reconhecimento de padr˜es ´ o supero e visionado, associado a uma rede direta multi-camadas. Devido a sua disponibilidade, a regra da retro-propaga¸˜o ´ frequentemente usada bem como suas variantes. Entretanto bons resulca e tados s˜o obtidos tamb´m com o aprendizado competitivo tipo redes de Kohonen. Este ultimo a e ´ ´ principalmente interessante quando n˜o se sabe quantas classes poss´ e a ıveis existem a identificar o que n˜o ´ o caso do reconhecimento de padr˜es. a e o

Redes Neurais Artificiais

40

Figura 6: Vis˜o de um sistema de reconhecimento de padr˜es. a o 7.1.3 7.1.4 Principais Aplica¸oes c˜ Reconhecimento de Caracteres

Reconhecimento de caracteres ´ uma aplica¸˜o bem sucedida de redes neurais desde o Perceptron e ca de Rosenblatt. Muitos programas incluem alguma forma de reconhecimento de caracteres como programa de demonstra¸˜o. ca Normalmente a letra ´ apresentada a uma grade tal como a retina. Cada c´lula da grade e e serve de entrada a um neurˆnio da rede. Neurˆnios de saida da rede s˜o associados a letras. o o a A camada de sa´ normalmente cont´m tantos neurˆnios quantos s˜o as letras que se deseja ıda e o a identificar. Por exemplo para identificar todos os caracteres ASCII a rede ter´ 256 neurˆnios. a o No caso apresentado, as letras s˜o representadas na entrada da rede usando uma reprea senta¸˜o distribu´ (a uma letra correspondem v´rios neurˆnios ativados) e na de saida uma ca ida a o representa¸˜o localizada (a uma letra corresponde apenas um neurˆnio). ca o Durante a fase de treinamento apresentam-se sucessivamente as letras ` rede em sua forma a ideal e com algumas varia¸˜es mais comuns. Depois de treinada, a rede identificar´, aceitando co a letras com maior ou menor varia¸˜o, as letras apresentadas. ca Bastante sofisticado e dando resultados bastante bons, pode-se citar o neocognitron de Fukushima [34], evolu¸˜o do cognitron [33]. Esta rede ´ do tipo multi-camadas. Permite reca e conhecer letras independentemente de sua posi¸˜o e pode mesmo servir como modelo para o ca mecanismo biol´gico de reconhecimento de padr˜es visuais [35]. o o Uma variante do reconhecimento de caracteres ´ a filtragem de caracteres. Neste caso desejae se poder apresentar na entrada da rede caracteres afetados de um ruido (mal representados) e ter na sa´ a mesma letra bem representada. Para este caso procede-se de modo inteiramente ıda an´logo com a diferen¸a que a representa¸˜o da sa´ ´ tamb´m distribu´ a c ca ıda e e ida. O reconhecimento de caracteres foi tamb´m abordado com bastante sucesso por t´cnicas e e baseadas em manipula¸˜o simb´lica, mas o reconhecimento de letras em posi¸˜es diversas, o uso ca o co de caracteres distintos, o reconhecimento de letras manuscritas, por exemplo, continuam a ser

Redes Neurais Artificiais problemas que a abordagem simb´lica encontra dificuldades em resolver. o 7.1.5 Reconhecimento de Faces

41

Bem mais complexo que o reconhecimento de caracteres ´ o reconhecimento de faces. Esta aplie ca¸˜o pode, de modo an´logo ao caso de reconhecimento de caracteres, ser usado para identificar ca a a quem pertence um rosto visto em posi¸˜es variadas e tamb´m reconstituir um rosto visto apeco e nas parcialmente. Finalmente os dois problemas podem ser associados no reconhecimento de um rosto apresentado parcialmente. Os trabalhos de Kohonen s˜o not´veis. Por exemplo, Kohonen a a [55] chega a mostrar o caso de um rosto que a rede sugeriu corretamente que o rosto deveria ser de um homem de ´culos! o O reconhecimento de um rosto segue esquema semelhante ao do reconhecimento de uma letra. Note-se, no entanto, que geralmente o problema exige uma grade muito mais fina o que aumenta consideravelmente a quantidade de neurˆnios da rede. o O reconhecimento de faces ainda est´ em fase de pesquisa. H´ no entanto um campo enorme a a de interesse ligado a problemas de seguran¸a. Problema an´logo ´ o da identifica¸˜o de imc a e ca press˜es digitais aplica¸˜o tamb´m em fase de pesquisa. o ca e

7.2
7.2.1

Sistemas Especialistas Conexionistas
SE Conexionistas

A IAS encontra dificuldades na solu¸˜o de muitos problemas da vida real, devido a suas inconca sistˆncias, excess˜es e especifica¸˜es incompletas. e o co ´ E poss´ identificar dois tipos de dom´ ıvel ınios em que um SE pode atuar: artificiais e naturais. Se ´ geralmente f´cil extrair regras para implementar um SE usando a IAS em sistemas e a pertencentes a um dom´ ınio artificial tal como panes de motores, ´ bastante dif´ obter regras e ıcil se o dom´ ´ natural conhecido como no caso de diagn´stico m´dico, previs˜es financeiras, etc. ınio e o e o Um dos primeiros a usar sistemas especialistas conexionistas for Gallant (1988) [36] que considerou uma rede direta para a partir de 6 sintomas diagnosticar duas doen¸as e mostrou c como ´ poss´ explicar o racioc´ e ıvel ınio para o caso estudado. Posteriormente Azevedo [27, 28, 26, 25] mostrou como mem´rias associativas podem ser o usadas em sistemas especialistas, trabalho continuado em [15, 13, 11]. Muito resta a fazer nestes dois paradigmas de implementa¸˜o de sistemas conexionistas. ca 7.2.2 SE usando Redes Diretas

Nest caso consideram-se os exemplos dispon´ ıveis para o treinamento da rede por um algoritmo de aprendizado supervisionado. Como as redes diretas s˜o capazes de aproximar uma fun¸˜o a ca n˜o linear qualquer, e imaginando que a solu¸˜o do problema pode ser encontrada achando o a ca valor da imagem de uma fun¸˜o, esta metodologia fornece solu¸˜o satisfat´ria. ca ca o

Redes Neurais Artificiais 7.2.3 SE implementados com BAM

42

Neste caso sup˜e-se conhecidas explicitamente as rela¸˜es entre sintomas e diagn´sticos, tal como o co o usual em um sistema especialista usando a IAS. Ora, ´ tamb´m poss´vel incorporar exemplos. e e ı Seja o caso de um diagn´stico m´dico. Inicialmente os conceitos s˜o organizados em conjuntos o e a de conceitos semelhantes: doen¸as, diagn´sticos e pacientes. c o
Pacientes

Sintomas

Doenças

Figura 7: Conjuntos de doen¸as, diagn´sticos e pacientes. c o A cada conjunto de conceitos corresponde um cluster de neurˆnios. As conex˜es entre objetos o o s˜o colocadas representando o que se conhece da rela¸˜o entre dois objetos. Assim sabendo que a ca um paciente apresenta um sintoma com uma certa gravidade, coloca-se a conex˜o entre este a paciente e o sintoma com um valor que me¸a a gravidade do sintoma, ao menos subjetivamente. c Esta abordagem tem de interessante: • Os exemplos s˜o usados para colocar pesos nas conex˜es e n˜o como elementos de um a o a conjunto de treinamento. • O conhecimento ´ localizado. e • O aprendizado se reduz ` coloca¸˜o dos pesos. a ca • A matriz sin´ptica ´ sim´trica. a e e • A intensidade das conex˜es varia normalmente no intervalo [-1 1] representando o valor o nebuloso da importˆncia da rela¸˜o entre os dois objetos, sendo de [-1 0] para inibi¸˜o e a ca ca de [0 1] para excita¸˜o. ca

Redes Neurais Artificiais

43

• Uma consulta ´ feita excitando neurˆnios representativos de conceitos conhecidos e exame o inando o que aparecem excitados quando a rede atingir o equil´brio. ı Nota: Este paradigma tem sido usado em fase de prot´tipo para diagn´stico em reumatoloo o gia.

7.3
7.3.1

Controle de Processos
Controle Neural

Diz-se que um sistema de controle ´ neural quando se usa de alguma forma uma rede neural e como parte do controlador. Atualmente esse assunto tem interessado largamente a pesquisa, principalmente no caso em que o modelo do processo a controlar n˜o ´ dispon´ e se deseja a e ıvel usar as capacidades de aprendizado das RNA para obter a solu¸˜o do problema. Para uma ca introdu¸˜o ao assunto aplicada a problemas de rob´tica ver [12]. ca o 7.3.2 Topologias de Controle

Aqui se apresentam as topologias de controle mais comuns: malha aberta, realimenta¸˜o, e ca modelo interno, com coment´rios de como uma RNA pode ser usada. a 7.3.3 Malha Aberta

Trata-se da topologia mais simples poss´ ıvel. A finalidade ´ usada como entrada do sistema e controlado e, se o controlador ´ escolhido como uma aproxima¸˜o do modelo inverso do processo e ca a controlar, a sa´ ser´ uma aproxima¸˜o da finalidade. Controle a malha aberta tem, geralıda a ca mente, um funcionamento pobre, pois caso apare¸a uma perturba¸˜o no processo, o controlador c ca n˜o tem acesso a esta informa¸˜o e n˜o corrigir´ o processo. Alem disso toda imperfei¸˜o na a ca a a ca implementa¸˜o do modelo inverso se refletir´ na saida do processo. ca a Uma das v´rias maneiras de treinar uma RNA para representar o modelo inverso ´ fazer a e v´rios ensaios com o processo a controlar obtendo pares entrada/sa´ a ıda. Depois usar estes pares como exemplos. Neste ponto conv´m uma observa¸˜o da maior importˆncia, que, por sinal ´ frequentemente e ca a e esquecida. Talvez a topologia de RNA mais utilizada seja a rede direta multi-camadas. Ora, se ´ bem sabido que esta rede pode ser treinada para aproximar uma fun¸˜o qualquer com e ca uma precis˜o que depende do n´ mero de neurˆnios e topologia da rede, o processo a controlar a u o frequentemente n˜o pode ser representado por uma fun¸˜o! pois se trata de um sistema dinˆmico. a ca a Logo ´ necess´rio usar uma RNA dinˆmica o que se obtem usando uma rede com realimenta¸˜o e a a ca ou usando linha de retardo [25]. Al´m disso, o modelo inverso de um sistema dinˆmico real e a ´ normalmente um sistema dinˆmico irrealiz´vel e consequentemente pode ser implementado e a a apenas aproximadamente.

Redes Neurais Artificiais 7.3.4 Controle com Retroa¸˜o ca

44

A mais simples topologia permitindo o controlador sentir os efeitos de uma perturba¸˜o ´ usar ca e a retroa¸˜o. ca Os dois modos principais de empregar uma RNA em um controle usando esta topologia ´ e como controlador e como supervisor do controlador. • Uma RNA pode ser usada diretamente na implementa¸˜o do controlador. Usa-se um ca controlador para o processo durante algum tempo e registram-se suas rea¸˜es formando co um conjunto de treinamento. Depois de treinada uma rede neural com esse conjunto de treinamento, a RNA substitui o controlador. • Como supervisor. Nesse caso essencialmente usa-se um controlador convencional e a RNA ´ usada para ajustar os parˆmetros do controlador. Um tipo de controlador muito comum e a ´ o conhecido PID. Redes neurais podem ser usadas para implementar o comportamento e de um PID mas podem tamb´m ser usadas para ajustar os pesos do PID. Esta op¸˜o tem e ca a vantagem de deixar o sistema funcionar do modo que vinha funcionando e a RNA vem apenas melhorar o funcionamento global. 7.3.5 Modelos Internos

Esta topologia de controle popularizada pelo livro de Morari & Zafiriou [63] tem grande motiva¸˜o biol´gica. ca o Com efeito, sup˜e-se que muitos seres vivos constroem um modelo mental de seus corpos e do o ambiente que os cerca. Baseado nestes modelos e por simula¸˜es mentais, ele decide que a¸˜es co co deve realizar. Por exemplo, um cavalo tem o modelo de seu corpo e visualizando o ambiente que o cerca pode decidir passar por uma porta com grande tristeza para o cavaleiro que n˜o estando a ´ neste modelo se arrisca a ficar dependurado na bandeira da porta... incluido Nesta topologia um modelo do processo recebe o mesmo sinal atuante que o processo e suas respostas s˜o comparadas. Se existe diferen¸a entre as respostas do modelo e do processo, podea c se atribuir que houve uma perturba¸˜o. Ent˜o esta diferen¸a ´ realimentada para produzir um ca a c e sinal de controle que corrija os efeitos da perturba¸˜o. ca Esta topologia de controle pode ser implementada por uma RNA e treinada diretamente com sinais excita¸˜o e resposta do processo. Deve-se, no entanto, lembrar que esta estrutura ´ ca e aplic´vel somente no caso de processos est´veis ou que tenham sido previamente estabilizados. a a Com efeito, em ausˆncia de perturba¸˜o, se o modelo for perfeito, o sistema funciona a malha e ca aberta. Portanto, se o processo a controlar for inst´vel, o processo controlado tamb´m o ser´. a e a

Redes Neurais Artificiais

45

7.4

S´ries Temporais e

Uma aplica¸˜o de RNAs ` s´ries temporais bastante util ´ ` previs˜o de mercado de capitais. ca a e ´ ea a Neste caso, usa-se uma rede direta que ´ treinada com valores de uma s´rie temporal que e e ocorreram em um determinado intervalo de tempo e com saida como sendo um valor futuro da s´rie. e Assim sejam os valores de uma s´rie temporal dados por: e u0 , u1 , u3 , ..., uk−3 , uk−2 , uk−1 , uk Usa-se como entrada da rede a sequˆncia: e uk−p , uk−p+1 , uk−p+2 ...uk−3 , uk−2 , uk−1 E para saida da rede, durante o treinamento: uk+q Para q = 0 a rede vai aprender a estimar o pr´ximo valor de uma s´rie temporal a partir de uma sequˆncia de p valores anteriores. Para o e e outros valores de q valores futuros da s´rie ser˜o estimados. e a ´ claro que a estima¸˜o ser´ tanto melhor quanto mais correlacionados forem os valores E ca a da s´rie, e tamb´m quanto melhor tenha sido o treinamento. Para gerar v´rios conjuntos de e e a treinamento costuma-se observar o fenˆmeno durante um intervalo de tempo bem maior do o que o que ser´ usado no treinamento, podendo com isto usar v´rios pares de valores para o a a treinamento. S´ries temporais tem sido usadas em v´rios tipos diferentes de aplica¸˜es, indo desde mercado e a co de capitais at´ previs˜es meteorol´gicas. e o o

7.5

Monitoramento

Redes neurais podem ser muito uteis em monitoramento se explorada a capacidade de uma ´ rede direta ter resposta praticamente imediata e esta solu¸˜o deve ser cogitada em casos onde a ca rapidez de resposta ´ fator primordial. e Um exemplo ´ o da dete¸˜o de vibra¸˜es em um reator nuclear, como no caso concreto de e ca co centrais nucleares na B´lgica [14]. Vibra¸˜es em uma instala¸˜o nuclear em frequˆncias pr´ximas e co ca e o das frequˆncias de ressonˆncia de partes importantes da instala¸˜o podem ter resultados catase a ca tr´ficos. Elas devem ser detetadas urgentemente, antes que sua amplitude chegue a valores o cr´ ıticos. Em muitas instala¸˜es costuma-se periodicamente fazer inspe¸˜es que consistem muitas vˆzes co co e em registrar o ruido neutrˆnico. Supondo que este ruido ´ branco, qualquer altera¸˜o no especo e ca tro de frequˆncia deste ruido registrado ´ indica¸˜o que existe uma vibra¸˜o neste frequˆncia. e e ca ca e Havendo uma vibra¸˜o do n´cleo pode-se esperar que esta vibra¸˜o se traduz por uma varia¸˜o ca u ca ca na espessura da prote¸˜o entre o n´ cleo e o captor. Isto faz variar a absor¸˜o de neutrons modca u ca ulando o ruido neutrˆnico que deixa de se apresentar como ruido branco. A id´ia foi colocar o e

Redes Neurais Artificiais

46

uma RNA, treinada a detetar o espectro de frequˆncia de um sinal, solu¸˜o que deu perfeita e ca satisfa¸˜o. ca

8

Implementa¸˜o ca

Pessoas ligadas `s ciˆncias da computa¸˜o est˜o t˜o habituadas ` id´ia de uma CPU executando a e ca a a a e instru¸˜es sobre dados escritos e escrevendo resultados na mem´ria que chegam a ter a id´ia de co o e que isto ´ natural e a unica op¸˜o em computa¸˜o. e ´ ca ca A Natureza usa paradigma diferente para resolver problemas. Assim, sendo as RNA inspiradas na Natureza, ´ natural que sua implementa¸˜o siga uma abordagem diferente. Essenciale ca mente as implementa¸˜es de RNAs podem ser feitas de tres modos distintos: co 1. Simula¸˜o da RNA em um IBC atrav´s de t´cnicas de simula¸˜o. ca e e ca 2. Implementa¸˜o por circuitos. ca (a) Simula¸˜o com uso de circuitos especializados, tais como co-processadores. ca (b) Implementa¸˜o direta em circuitos. Neste caso os circuitos podem ser digitais ou ca anal´gicos. o

8.1

Simula¸˜o de RNA ca

Um programa de simula¸˜o deve ter as seguintes caracter´ ca ısticas: • Capacidade de representar o sistema a simular. No caso da simula¸˜o de uma ca rede neural, ´ necess´rio dispor de ferramentas para representar a rede, os valores das e a conex˜es sin´pticas e implementar algor´ o a ıtmos de aprendizado. Essencialmente necessitase implementar multiplica¸˜o matricial e uma fun¸˜o n˜o linear. ca ca a • Capacidade de representar a experiˆncia de simula¸˜o. Inclui-se a´ a interface, e ca ı possibilidade de funcionamento autˆnomo, etc. o Essencialmente pode-se usar: • Linguagens de uso geral tais como Lisp, C, Oberon, estas duas ultimas com facilidades ´ de programa¸˜o objeto, o que tem interessado os pesquisadores da ´rea ultimamente. ca a • Linguagens de simula¸˜o que podem ser divididas em: ca – linguagens de modelagem – linguagens de simula¸˜o no sentido restrito. ca

Redes Neurais Artificiais

47

Duas linguagens de simula¸˜o populares s˜o Matlab e DESIRE/NEUNET desenvolvido ca a por Granino Korn [57]. • Programas de simula¸˜o no sentido restrito. Estes programas geralmente apresenca tam interface amig´vel, havendo muitos deles de dom´ a ınio p´ blico e que s˜o acess´veis pela u a ı Internet. Exemplos s˜o os do grupo PDP, Macbrain, Mactivation, NeuralWare. a

8.2

Implementa¸˜es por Circuitos co

Implementar RNAs por simula¸˜o ´ um modo limitado por raz˜es de performance. As tecnoloca e o gias emergentes tem colaborado em muito para implementa¸˜o de RNAs. Isto est´ bem evidente ca a na ultima d´cada quando os enormes avan¸os de tecnologia VLSI tem estimulado pesquisas em ´ e c implementa¸˜o em escala de uso industrial. ca Essencialmente existem tres modos de implementar uma RNA como circuito autˆnomo: o 1. Emula¸˜o por circuitos tais como co-processadores [68, 88] ca 2. Como Neurocomputadores incluindo estruturas especializadas em representar RNA e dispositivos de entrada e sa´da [68] ı 3. Circuitos dedicados [49, 69]. 8.2.1 Implementa¸˜o da Sin´pse ca a

Essencialmente a sin´pse em uma RNA pode ser vista como um componente armazenando um a coeficiente (valor da conex˜o sin´ptica) e cuja fun¸˜o ´ multiplicar este valor pelo valor da a a ca e entrada dando sua saida. A sin´pse ´ portanto um multiplicador. a e Em una RNA totalmente interconectada com n neurˆnios, n2 sin´pses s˜o necess´rias. Em o a a a uma rede direta com p camadas, possuindo ni neurˆnios na camada i, o n´ mero de sin´pses Sr o u a ser´: a Sr = n1n2 + n2 n3 + ...ni ni+1 ... + np−1 np = Σi=1 ni−1 ni Como o n´ mero de sin´pses ´ maior do que o n´mero de neurˆnios, sua implementa¸˜o ´ u a e u o ca e crucial na constru¸˜o das RNAs. ca 8.2.2 Implementa¸˜o do Neurˆnio ca o
p

O neurˆnio pode ser dividido em dois circuitos o primeiro implementa a opera¸˜o de confluˆncia o ca e das entradas ponderadas pelos valores sin´pticos. O segundo calcula a saida do neurˆnio. a o

Redes Neurais Artificiais 8.2.3 Implementa¸˜o do Aprendizado ca

48

A dificuldade na implementa¸˜o de um algoritmo de aprendizado depende se ´ usada apenas ca e informa¸˜es locais ou n˜o. No caso de usar apenas informa¸˜es locais necessita-se de sub-circuitos co a co com duas entradas, que s˜o a excita¸˜o dos dois neurˆnios ligados pela sin´pse. A saida ´ usada a ca o a e para atualizar o valor da sin´pse. No caso de um algoritmo n˜o local s˜o necess´rias q entradas, a a a a onde q ´ o n´ mero de sinais de que depende o algoritmo. A figura 8 mostra uma RNA direta por e u camadas usando um algoritmo n˜o local. Vˆ-se que a sin´pse w13 para ser alterada usa algoritmo a e a de aprendizado representado na figura pelo bloco L, o qual tem como entradas os valores das saidas yi e das saidas desejadas Yid como em um algoritmo de aprendizagem supervisionada.
L w 13 u1 N1 N3 w23 y1 y 1d y 2d N2 w14 N4 w
24

u2

y2

Figura 8: Rede com aprendizado n˜o local. a Portanto os algoritmos que usam informa¸˜o n˜o local exigem um maior grau de complexica a dade de implementa¸˜o. [49]. ca Muitas RNAs possuem um conjunto de neurˆnios que competem uns com os outros, de tal o forma que a saida de todos menos um se mantem pequena [19]. Isto exige tamb´m um circuito e com m´ ltiplas entradas, as excita¸˜es dos neurˆnios que est˜o competindo. u co o a 8.2.4 Implementa¸˜es Digitais versus Anal´gicas co o

Em uma implementa¸˜o anal´gica tanto ui entrada de neurˆnios quanto wji valores sin´pticos ca o o a tem valores em um segmento dos n´meros reais que podem ser calculados usando a Lei de Ohm u e a saida ´ uma corrente e a soma pode ser feita gra¸as ` Lei de Kirchhoff das correntes. A e c a corrente resultante ´ em seguida convertida para tens˜o, entrada de operador n˜o linear para e a a dar a saida do neurˆnio. O c´lculo ´ verdadeiramente em paralelo. o a e Quando a implementa¸˜o ´ digital, ent˜o o c´lculo vai requerer um grande n´ mero de mulca e a a u tiplicadores e acumuladores, correspondendo a todos os neurˆnios da rede o que torna pouco o real´ ıstica tal solu¸˜o. Entretanto solu¸˜es parcialmente digitais s˜o poss´ ca co a ıveis em alguns casos.

Redes Neurais Artificiais A tabela que se segue apresenta uma compara¸˜o das duas tecnologias. ca Implementa¸˜o Digital versus Anal´gica ca o ANALOGICA DIGITAL Requer muito conhecimento Ferramentas de CAD12 n˜o s˜o comuns a a Dif´ceis de testar ı Sens´ ıveis ao ruido Densidade funcional elevada F´cil implementa¸˜o de n˜o linearidades a ca a Regras de aprendizado local Pr´xima da realidade biol´gica o o

49

Requer menos conhecimento Ferramentas de CAD s˜o comuns a F´ceis de testar a Boa rejei¸˜o ao ruido ca Baixa densidade funcional Dif´ implementa¸˜o de n˜o linearidades ıcil ca a Regras de aprendizado de dif´ implementa¸˜o ıcil ca Diferente da realidade biol´gica o

9

Ep´ ılogo

Uma palavra final adequada seria que o campo das RNAs ´ vasto. Aqui procurou-se dar ao e leitor uma vis˜o geral do assunto. a Acredita-se que as RNAs vieram para ficar. Mas redes neurais constituem um assunto novo e velho de pesquisa. Como todo assunto velho trata-se de assunto maduro com muitos anos de pesquisa apoiando os conhecimentos atuais. Como novo campo, serve de polo de atra¸˜o para ca profissionais de v´rios dom´ a ınios distintos se transformando em assunto interdisciplinar. Com efeito: • Psic´logos est˜o vendo possibilidades de construir redes neurais artificiais e ver aparecer o a

comportamentos emergentes tais como o aprendizado de novos conceitos dando uma ajuda na compreens˜o dos mecanismos do aprendizado. a

• Neurofisiologistas est˜o interessados em ver as rede neurais artificiais como met´fora do a a c´rebro permitindo experimenta¸˜o com esta met´fora e melhorando o conhecimento dos e ca a mecanismos cerebrais. • Cientistas cognitivos se empregam em usar as redes neurais artificiais para um melhor conhecimento dos mecanismos envolvidos no processo cognitivo. • Engenheiros olham redes neurais artificiais como um caminho para, implementado estas redes em circuitos, ter computadores realmente paralelos e distribu´ ıdos. Muitos encontraram no aprendizado das redes neurais um campo para aplicar o que se conhece da teoria da otimiza¸˜o, incluindo o caso de sistemas dinˆmicos e est´ticos com algor´ ca a a ıtmos de programa¸˜o n˜o linear. ca a • Cientistas de computa¸˜o encontraram um novo paradigma de programa¸˜o e uma arca ca quitetura distribu´ ıda. Explorar este paradigma ´ um desafio. e

Redes Neurais Artificiais

50

Leitura Complementar
Ao t´rmino deste texto ´ conveniente citar alguns livros de interesse que podem ser consultados e e para um aprofundar o assunto. Para uma introdu¸˜o `s bases do conexionismo, os trabalhos de ca a Arbib [2], [3], [4], s˜o claros, precisos e fazem uma ponte segura com conceitos biol´gicos. Mais a o populares s˜o, no entanto, os livros do grupo PDP (“Parallel Distributed Processing”) [82], que a se n˜o podem ser ignorados. Recentemente Haykin [42] publicou livro did´tico bastante completo a a sobre o assunto. Kosko [59] trata de RNA e sistemas nebulosos real¸ando as semelhan¸as entre c c os dois campos de estudo. Em portuguˆs recomenda-se [16], [7], [60]. e No Brasil existem livro traduzido e alguns bons de autores nacionais. A segunda edio do Haykin est aumentada e disponivel [52]. Existe ainda os livro de Kov´cs (1996 e 1997) [60, 61] a sem deixar de mencionar os de Loesch e o de Tafner e co-autores, ambos elementares [62], [85]. Mais recentemente (2000) o grupo de pesquisas do Recife produziu em cooperacc˜o com S˜o a a Carlos livro bem feito e mais profundo [30]. Ainda no mesmo ano apareceram outros livros voltados para redes neurais, dentre os quais, um, de trˆs ex-doutorandos do autor do presente e texto, F. M. De Azevedo, Lourdes M. Brasil e R. C. Lim˜o de Oliveira, aos quais agrade¸o terem a c colocado em livro meus ensinamentos e id´ias [29]. e

Redes Neurais Artificiais

51

Referˆncias e
[1] Abu-Mostafa, Y. S. & Jacques, J. S. Information capacity of the Hopfield model. IEEE Tans. on Information Theory 31, 4 (July 1985), 461–464. [2] Arbib, M. A. Brains, Machines and Mathematics. McGraw-Hill, 1964. [3] Arbib, M. A. Brains, Machines and Mathematics, 2 ed. Springer, 1987. [4] Arbib, M. A. The Metaphorical Brain 2: Neural Networks and Beyond. John Wiley and Sons, New York, 1989. [5] Barreto, J. M. Neural networks learnig: A new programming paradigm. In ACM International Conference: Trends and Directions in Expert Systems, Orlando, Florida, October 29 to November 3 1990, p. ?? [6] Barreto, J. M. Expert systems in biomedicine. Universidade Cat´lica de Louvain, Faco uldade de Medicina, Programa de Inform´tica M´dica, Bruxelas, 1993. a e [7] Barreto, J. M. Conexionismo e a resolu¸˜o de problemas. UFSC, Dept. de Inform´tica ca a e Estat´ ıstica, Florian´polis, maio 1996. Trabalho para concurso p´blico para Professor o u Titular. [8] Barreto, J. M. Redes Neurais Artificiais. Texto de Curso apresentado no II-CIPEEL, Universidade Federal de Santa Catarina, Dept. de Engenharia El´trica, novembro 1996. e [9] Barreto, J. M. Introdu¸˜o `s redes neurais artificiais. In V Escola Regional de Inca a form´tica. Sociedade Brasileira de Computa¸˜o, Regional Sul, Santa Maria, Florian´polis, a ca o Maring´, 5-10/05 1997, p. 41–71. a [10] Barreto, J. M. Inteligˆncia Artificial no Limiar do S´culo XXI, 3 ed. ρρρ Edi¸˜es, e e co Florian´polis, SC, 2001. o [11] Barreto, J. M. & de Azevedo, F. M. Connectionist expert systems as medical decision aid. AI in Medicine 5, 9 (setembro 1993), 1–9. [12] Barreto, J. M. & de Azevedo, F. M. On the robot neural control. Relat´rio t´cnico., o e Projeto MUCOM (Multisensory Control of Movement) do Programa ESPRIT de Pesquisa B´sica, da CEE (Comiss˜o Econˆmica Europeia), Lab. of Neurophysiology, UCL, Bruxelas, a a o maio 1993. [13] Barreto, J. M.; de Azevedo, F. M.; de Lima, W. C. & Epprecht, L. R. A neural network with fuzzy elements for a medical diagnosis. In LATINCON’92, IEEE Latinoamerican Conference, Santiago, Chile, 1992, p. 335–339.

Redes Neurais Artificiais

52

[14] Barreto, J. M.; de F. M. Azevedo; de Lima, W. C. & Zanchin, C. I. Neural network identification of resonance frequencies from noise. In IX Congresso Brasileiro de Automatica, Vitoria, Brazil, setembro 14-18 1992, p. 840–844. [15] Barreto, J. M.; Neyer, M. D.; Lef`vre, P. & Gorez, R. Qualitative physics versus e fuzzy sets theory in modeling and control. In IECON’91: IEEE International Conference on Industrial Electronics, Control and Instrumentation, Kobe, Jap˜o, outubro-novembro a 1991, p. 1651–1656. [16] Barreto, J. M.; Nievola, J. & de Lima, W. C. A student freedom of a tutor system. In MELECON’96; 8th IEEE Mediterranean Electrotechnical Conference, Bari, It´lia, 13-16/5 a 1995, IEEE, p. 1097–1100. [17] Barreto, J. M. & Proychev, T. Control of the standing position. Relat´rio t´cnico., o e Projeto MUCOM (Multisensory Control of Movement) do Programa ESPRIT de Pesquisa B´sica, da CEE (Comiss˜o Econˆmica Europeia), Lab. of Neurophysiology, UCL, Bruxelas, a a o May 1994. [18] Bechtel, A. & Abrahamsen, A. Connectionism and the mind. Basil Blackwell, Cambridge, Massachusetts, 1991. [19] Carpenter, G. A. & Grossberg, S. A massively parallel architecture for a selforganizing neural pattern recognition machine. Computer Vision, Graphics and Image Processing 37 (1987), 54–115. [20] Coimbra, A. F.; d’Angelo, G.; Marino-Neto; de Azevedo, F. M. & Barreto, J. M. Use of neural networks in brain state analysis. In Neural Network Contact Group), Louvain-la-Neuve, 30/11 1994. [21] Coimbra, A. F.; D’Angelo, G. G.; de Azevedo, F. M. & Jorge M. Barreto, J. M.-N. Electrographic analysis of brain states using neural networks. In World Congress on Medical Physics and Biomedical Engineering), Rio de Janeiro, 13-16/8 1994, vol. 1, p. 463. [22] Coimbra, A. F.; Marino-Neto; Freitas, C. G.; de Azevedo, F. M. & Barreto, J. M. Automatic detection of sleep-waking states using Kohonen neural networks. In 1o Congresso Brasileiro de Redes Neurais, Escola Federal de Engenharia de Itajub´, 24-27/10 a 1994. [23] Coimbra, A. F.; Marino-Neto, J.; de Azevedo, F. M. & Barreto, J. M. Brain electrographic state detection using combined unsupervised and supervised neural networks. In Artificial Neural Nets and Genetic Algorithms, N. C. S. e. R. A. D. W. Pearson, Ed. Springer Verlag, Viena, 1995, p. 76–79.

Redes Neurais Artificiais

53

[24] Darwin, C. The origin of species. Grolier Enterprises Corp., Danbury, Connecticut, 1859. [25] de Azevedo, F. M. Contribution to the Study of Neural Networks in Dynamical Expert System. Tese de Doutorado, Institut d’Informatique, FUNDP, Namur, B´lgica, 1993. e [26] de Azevedo, F. M.; Barreto, J. M.; de Lima, W. C. & Zanchin, C. I. Teaching medical diagnosis with associative memories. In Proc. XI Systems Science International Conference, Wroclaw, Poland, setembro 22-25 1992, p. 28–29. [27] de Azevedo, F. M.; Barreto, J. M.; Epprecht, E. K.; Epprecht, L. R. & de Lima, W. C. Two approaches in case-based connectionist expert systems. In AINN’91 Artificial Intelligence and Neural Networks, Anahaim, Calgary, julho 1991, M. H. Hanza, Ed., Acta Press, p. 13–17. [28] de Azevedo, F. M.; Barreto, J. M.; Epprecht, L.; de Lima, W. C. & Zanchin, C. Neural network approach for medical diagnostic. In Mini and Microcomputers in Medicine and Health Care 91 , Anahaim, Calgary, December 1991, D. Hudson, Ed., Acta Press, p. 16–18. [29] de Azevedo, F. M.; Brasil, L. M. & de Oliveira, R. C. L. Redes Neurais, 1 ed. Visual Books, Florian´polis, Sept. 2000. o ´ [30] de Padua Braga, A.; Ludermir, T. B. & de Leon Ferreira de Carvalho, A. C. P. Redes neurais artificiais: teoria e aplica¸˜es. Livros T´cnicos e Cient´ co e ıficos Editora, 2000. [31] Falqueto, J.; de Lima, W. C.; da Silva Borges, P. S. & Barreto, J. M. The measurement of artificial intelligence: an IQ for machines? In Proceedings of The International Conference on Modeling, Identification and Control , Insbruck, Austria, fevereiro 2001, IASTED. [32] Franklin, S. & Garzon, M. Neural computability. In Progress in Neural Networks, O. Omidvar, Ed. Ablex Publishing Co., New Jersey, 1991, p. 127–146. [33] Fukushima, K. Cognitron: A self-organizing multilayered neural network. Biol. Cybernet. 20 (1975), 121–136. [34] Fukushima, K. Neocognitron: A self-organizing neural network model for a mechanism of pattern recognition unaffected by shift in position. Biol. Cybernet. 36 (1980), 193–202. [35] Fukushima, K.; Miyake, S. & Ito, T. Neocognitron: a neural network model for a mechanism of visual pattern recognition. IEEE Trans. on Systems, man, and Cybernetics 13, 5 (September/October 1983), 826–834.

Redes Neurais Artificiais

54

[36] Gallant, S. Connectionist expert systems. Communications of the ACM 31, 2 (1988). [37] Gallant, S. I. Neural network learning and expert systems. MIT press, Cambridge, Massachussets, 1993. [38] Garcia, R.; de Azevedo, F. M. & Barreto, J. M. Artificial neural networks optimized by genetic algorithms. In EXPERSYS-95 , San Francisco, November 1995. [39] Gibson, J. E. Nonlinear Automatic Control. McGraw-Hill, Nova York, 1963. [40] Gille, J. C.; Decaulne, P. & P´l´grin, M. M´thodes modernes d’´tudes des syst`mes e e e e e asservis. Dunod, Paris, 1960. [41] Harary, F. Graph Theory. Addison-Wesley, 1971. [42] Haykin, S. Neural networks: a comprehensive foundation. IEEE Press, New York, 1994. [43] Hebb, D. O. The organization of behavior. Wiley, New York, 1949. [44] Hecht-Nielsen, R. Neurocomputing: Picking the human brain. IEEE Spectrum 25, 3 (1988), 36–41. [45] Hecht-Nielsen, R. Neurocomputers. Addison-Wesley, Massachusetts, 1990. [46] Hinton, G. E. Connectionist learning procedures. Artificial Intelligence 40, 1-3 (1989), 185–234. [47] Hopfield, J. Neural Networks and Physical Systems with Emergent Collectives Computational Abilities. Proceedings of the National Academy of Sciences 79 (1982), 2554–2558. [48] Hopfield, J. Neurons with graded response have collective computational properties like those of two-state neurons. Proceedings of the National Academy of Sciences 81 (1984), 3088–3092. [49] Hopfield, J. The effectiveness of analog neural network hardware. Network 1, 1 (1990), 27–40. [50] Hubel, D. H. The brain. vol. 1. Freeman, San Francisco, 1979, ch. 1, p. 2–14. [51] Janson, D. J. & Frenkel, J. Training product unit neural networks with genetic algorithms. IEEE Expert 8, 5 (1993), 26–33. [52] Jaykin, S. Redes Neurais: Princ´ ıpios e Pr´ticas. Bookman, 2001. a [53] Kfoury, A. J.; Moll, R. N. & Arbib, M. A. A Programming Approach to Computability. Springer Verlag, 1982.

Redes Neurais Artificiais

55

[54] King, P. & Mamdani, E. The application of fuzzy control systems to industrial processes. Automatica 13 (1977), 235–242. [55] Kohonen, T. Self Organization and Associative Memory. Springer-Verlag, Berlin, 1987. [56] Kohonen, T. State of the art in neural computing. In IEEE First International Conference on Neural Networks, 1987, vol. 1, p. 77–90. [57] Korn, G. Neural Netwoks Experiments on personal computers and workstations. MIT Press, A Bradford Book, Cambridge, Massachussets, 1992. [58] Kosko, B. Bidirectional associative memories. IEEE Trans. on Systems, Man and Cybernetics 18, 1 (1988). [59] Kosko, B. Neural Networks and Fuzzy Systems: A Dynamical Systems Approach to Machine Intelligence. Prentice-Hall, 1992. ´ [60] Kovacs, Z. L. Redes neurais artificiais. Edi¸˜o Acadˆmica, S˜o Paulo, 1996. ca e a ´ [61] Kovacs, Z. L. O c´rebro e sua mente: uma introdu¸˜o ´ neurociˆncia computacional. e ca a e Edi¸˜o Acadˆmica, S˜o Paulo, 1997. ca e a [62] Loesch, C. & Sari, S. T. Redes neurais artificiais: fundamentos e modelos. FURB, Blumenau, 1996. [63] M., M. & Zafiriou, E. Robust process control. Prentice-Hall, Englewood Cliffs, New Jersey, 1975. [64] Mamdani, E. Application of fuzzy algorithms for control of simple dynamic plant. Proc. IEE 121, 12 (1974), 1585–88. [65] McCulloch, W. S. Embodiments of Mind. The MIT press, Cambridge, Massachusetts, 1965. [66] McCulloch, W. S. & Pitts, W. A Logical Calculus of the Ideas Immanent in Nervous Activity. Bulletin of Mathematical Biophysics 5 (1943), 115–133. [67] McEliece, R. J.; Posner, E. C.; Rodemich, E. R. & Venkatesh, S. S. The capacity of Hopfield associative memory. IEEE Trans. on Information Theory 33, 4 (July 1987), 461–482. [68] Mead, C. Analog VLSI and Neural Systems. Addison- Wesley, 1989. [69] Mead, C. A. Analog VLSI Neural Systems. Addison-Wesley, 1988.

Redes Neurais Artificiais

56

[70] Mead, C. A. & Mahowald, M. A. A silicon model of early visual processing. Neural Networks 1, 1 (1988). [71] Minsky, M. L. & Papert, S. A. Perceptrons: an introduction to computational geometry. The MIT Press, Massachussets, 1969. [72] Minsky, M. L. & Papert, S. A. Perceptrons: an introduction to computational geometry, 3a ed. The MIT Press, Massachussets, 1988. Impress˜o modificada do original de 1969. a [73] Monod, J. Le hasard et la n´cessit´. Editions du Seuil, Paris, 1970. e e [74] Polya, G. A Arte de Resolver Problemas. Intersciˆncia, Tradu¸˜o de “How to solve it: A e ca New Aspect of Mathematical Method”, Princeton University Press, Rio de Janeiro, 1975. [75] Robinson, J. A. A machine oriented logic based on the resolution principle. J. ACM 12, 1 (1965), 23–41. [76] Roisenberg, M.; Barreto, J. M. & de Azevedo, F. M. Generalization capacity in neural networks - the ballistic trajectory learning case. In II Congresso Brasileiro de Redes Neurais, Curitiba, 29/10-1/11 1995, p. 4 p´ginas. a [77] Roisenberg, M.; Barreto, J. M. & de Azevedo, F. M. Specialization versus generalization in neural network learning. In IEEE MELECON’96 - 8th IEEE Mediterranean Electrotechnical Conference, Bari, Italy, May 1996, p. 627–630. [78] Rosenblatt, F. The perceptron: a probabilistic model for information storage and organization in the brain. Psychological Review 65 (1958), 386–408. [79] Rosenblatt, F. Principles of Neurodynamics. Spartan Books, 1959. [80] Rumelhart, D. E.; Hinton, G. E. & McCleland, J. L. A general framework for parallel distributed processing. In Parallel distributed processing, vol 1: Foundations, D. E. Rumelhart, J. L. McClelland and the PDP group, Ed. MIT Press, Cambridge, Massachusetts, 1987, p. 45–76. [81] Rumelhart, D. E.; Hinton, G. E. & Williams, R. J. Learning internal representations by error propagation. In Parallel distributed processing, vol 1: Foundations, D. E. Rumelhart, J. L. McClelland and the PDP group, Ed. MIT Press, Cambridge, Massachusetts, 1987, p. 318–362. [82] Rumelhart, D. E.; McClelland, J. L. & Group, P. Parallel Distributed Processing, vol 1: Foundations. The MIT Press, 1986. [83] Shannon, C. E. & McCarty (edt.), J. Automata Studies. Princeton University Press, New Jersey, 1956.

Redes Neurais Artificiais

57

[84] Shortliffe, E. H. MYCIN: a rule-based computer program for advising physicians regarding antimicrobial therapy selection. Tese de Doutorado, Stanford University, California, 1974. [85] Tafner, M. A.; de Xerez, M. & Filho, I. W. R. Redes neurais artificiais: introdu¸˜o ca e princ´pios de neurocomputa¸ao. Editoras ECO e Editora da FURB, Blumenau, 1996. ı c˜ [86] Veloso, P. A. S. & Veloso, S. R. M. Problem decomposition and reduction. In Progress in Cybernetics and System Research, F. P. R. Trappl, J .Klir, Ed., vol. VIII. Hemisphere, Washington DC, 1981, p. 199–203. [87] Zadeh, L. A. Fuzzy sets. Information and Control 8, 1 (January 1965), 338–353. [88] Zurada, J. M. Introduction to Neural Networks. West Pub. Co., 1992.

You're Reading a Free Preview

Download
scribd
/*********** DO NOT ALTER ANYTHING BELOW THIS LINE ! ************/ var s_code=s.t();if(s_code)document.write(s_code)//-->