Você está na página 1de 57

Sistemas Inteligentes

Alexandre Romariz
24 de Agosto de 2007
Contedo
1 Sistemas Inteligentes e Redes Neurais 4
1.1 Introduo aos Sistemas Inteligentes . . . . . . . . . . . . . . . . 4
1.1.1 Motivao . . . . . . . . . . . . . . . . . . . . . . . . . . 4
1.1.2 A abordagem de Engenharia para I.A. . . . . . . . . . . . 5
1.2 Introduo s Redes Neurais . . . . . . . . . . . . . . . . . . . . 5
1.2.1 Denio e Motivao . . . . . . . . . . . . . . . . . . . 5
1.2.2 O que redes neurais no so . . . . . . . . . . . . . . . . 7
1.2.3 Histrico . . . . . . . . . . . . . . . . . . . . . . . . . . 8
1.2.4 A motivao biolgica . . . . . . . . . . . . . . . . . . . 9
1.2.5 Exemplos de operao . . . . . . . . . . . . . . . . . . . 14
2 Rede de Hopeld e Rede de Retropropagao 15
2.1 Rede de Hopeld . . . . . . . . . . . . . . . . . . . . . . . . . . 15
2.1.1 Arquitetura e Denies . . . . . . . . . . . . . . . . . . 15
2.1.2 Denio da matriz de interconexes . . . . . . . . . . . 16
2.1.3 Caractersticas da Rede de Hopeld . . . . . . . . . . . . 17
2.1.4 Resfriamento simulado . . . . . . . . . . . . . . . . . . . 18
2.2 A rede de retropropagao . . . . . . . . . . . . . . . . . . . . . 19
2.2.1 O Perceptron e a regra delta . . . . . . . . . . . . . . . . 19
2.2.2 O Perceptron multicamada e a regra de retropropagao
de erro . . . . . . . . . . . . . . . . . . . . . . . . . . . 22
2.2.3 Algumas observaes sobre a rede de retropropagao . . 25
2.2.4 Roteiro para treinamento . . . . . . . . . . . . . . . . . . 27
2.2.5 Limitaes da rede de retropropagao . . . . . . . . . . 29
3 Outras Redes Neurais e Algoritmos de Treinamento 32
3.1 Melhoramentos ao algoritmo de gradiente . . . . . . . . . . . . . 32
3.1.1 Introduo . . . . . . . . . . . . . . . . . . . . . . . . . 32
3.1.2 Algoritmo de descida mais ngreme (steepest descent) . . 33
3.1.3 Algoritmo de gradiente conjugado . . . . . . . . . . . . . 33
3.2 Redes de funes de base radiais . . . . . . . . . . . . . . . . . . 35
2
CONTEDO
3.3 Aprendizado por reforo . . . . . . . . . . . . . . . . . . . . . . 36
3.4 Redes de Kohonen e sistemas auto-organizveis . . . . . . . . . . 37
4 Sistemas nebulosos 40
4.1 Introduo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 40
4.2 Lgica nebulosa . . . . . . . . . . . . . . . . . . . . . . . . . . . 42
4.3 Regras nebulosas e possibilidade . . . . . . . . . . . . . . . . . . 42
4.4 Sada de uma regra nebulosa . . . . . . . . . . . . . . . . . . . . 43
4.5 Diculdades e Aplicaes Prticas . . . . . . . . . . . . . . . . . 44
4.6 Redes Neurais e Lgica Nebulosa . . . . . . . . . . . . . . . . . 45
5 Algoritmos Genticos 47
5.1 Introduo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 47
5.2 Elementos Principais e Exemplo . . . . . . . . . . . . . . . . . . 48
5.3 Aplicaes tpicas . . . . . . . . . . . . . . . . . . . . . . . . . . 50
5.3.1 Evoluindo tabelas de transio em autmatos celulares . . 50
5.3.2 Predio de valores . . . . . . . . . . . . . . . . . . . . . 52
5.3.3 Evoluindo Redes Neurais . . . . . . . . . . . . . . . . . . 52
5.4 Questes de implementao . . . . . . . . . . . . . . . . . . . . 53
5.4.1 Quando usar . . . . . . . . . . . . . . . . . . . . . . . . 53
5.4.2 Codicao . . . . . . . . . . . . . . . . . . . . . . . . . 54
5.4.3 Seleo . . . . . . . . . . . . . . . . . . . . . . . . . . . 54
Sistemas Inteligentes 3
Captulo 1
Sistemas Inteligentes e Redes
Neurais
1.1 Introduo aos Sistemas Inteligentes
1.1.1 Motivao
O princpio bsico de funcionamento dos computadores digitais no se distanciou
do proposto na dcada de 40. Houve um gigantesco avano tecnolgico, mas a
arquitetura do computador permanece basicamente a mesma. H diferenas muito
acentuadas entre esta arquitetura e o que parece ser a maneira humana de racioci-
nar, diferenas que no foram atenuadas por mudanas na tecnologia empregada.
Para que um computador possa ser usado na soluo de uma classe espec-
ca de problemas, um algoritmo geral de soluo para esta deve ser denido. A
atuao do computador limita-se execuo repetitiva dos passos do algoritmo,
com rapidez e preciso. No h paralelo possvel com a capacidade humana de
buscar criativamente solues para problemas novos, de aprender com os prprios
erros, ou de buscar uma soluo aproximada para um problema complexo, com
uso razovel de tempo e recursos. Alm disso, as linguagens compreendidas pelos
computadores esto muito longe da exibilidade e robustez da linguagem natural.
Tudo isso contribui para que classes de problemas, tratadas com facilidade por
animais, representem um grande desao para os mais poderosos computadores.
Como exemplos, podemos citar a interpretao de imagens, o controle motor e a
tomada de decises.
A Inteligncia Articial (IA), ou Inteligncia Computacional, rene tcnicas
que buscamintegrar aos sistemas de processamento caractersticas tpicas do com-
portamento inteligente. A diculdade em se encontrar uma denio consensual
de IA e denir claramente seus limites reside no problema da denio do prprio
conceito de inteligncia. Pode-se dizer que a capacidade de solucionar problemas
4
1.2. INTRODUO S REDES NEURAIS
relacionados percepo, interpretao, inferncia e tomada de decises, com
elevado grau de auto-adaptao, dene inteligncia no escopo de IA.
1.1.2 A abordagem de Engenharia para I.A.
Veremos a seguir que a histria da IA inclui muitas promessas no cumpridas de
comportamento inteligente para as mquinas. Esta srie de relativos insucessos,
associada polmica existente na questo da denio de inteligncia e sobre a
possibilidade de mquinas exibirem verdadeira inteligncia resulta, de tempos em
tempos, em uma violenta reao contrria a todo este campo de pesquisa.
Mesmo entre os que se dedicam ao assunto, profundas diferenas entre con-
cepes loscas e polticas dividem a rea em escolas praticamente irreconci-
liveis. Os pesquisadores que investigam as chamadas Redes Neurais Articiais,
por exemplo, enfatizam a capacidade de aprendizado de seus modelos de com-
putao. J os que se dedicam chamada IA Clssica ou Simblica, estudando
mecanismos inteligentes de manipular lgica e raciocnio em computadores, en-
fatizam um processamento estruturado em regras pr-denidas. Independente das
vantagens tcnicas dessas diferentes abordagens, o que realmente torna estes dois
campos praticamente irreconciliveis muito mais a questo losca da impor-
tncia relativa daquilo que nos inato e do que aprendemos, uma das discusses
mais acaloradas da histria do pensamento.
Neste minicurso, estas interessantes questes no sero abordadas. Discutire-
mos especicamente as tcnicas conhecidas como Redes Neurais, Lgica fuzzy e
Algoritmos Genticos, interessados em possveis aplicaes em engenharia. Es-
tas aplicaes se justicam porque parte dos problemas atacados por I.A. so de
grande interesse nas reas de controle, otimizao e processamento de sinais, pro-
blemas essenciais em engenharia.
1.2 Introduo s Redes Neurais
1.2.1 Denio e Motivao
Redes Neurais Articiais (ou simplesmente Redes Neurais) so sistemas de pro-
cessamento numrico, de inspirao biolgica, constitudos por um grande n-
mero de processadores simples altamente interconectados, em uma arquiteturas
de processamento inspiradas no sistema nervoso dos seres vivos. A idia princi-
pal por trs desta abordagem a de que computaes complexas podem ser obti-
das pela combinao de muitos processadores simples altamente interconectados,
o que denominado conexionismo. Substitui-se, nesta abordagem, a arquitetura
baseada em um processador central por um sistema de Processamento Paralelo e
Sistemas Inteligentes 5
CAPTULO 1. SISTEMAS INTELIGENTES E REDES NEURAIS
a r t i d o
a n c o
P
P
Figura 1.1: No reconhecimento de padres, seres humanos no tm diculdade
de relacionar estmulos iguais a signicados diferentes, dependendo do contexto.
Na Figura, o P da palavra superior e o B da inferior so, na verdade, o mesmo
smbolo. Adaptado de McClelland et al.[1].
Distribudo, um dos nomes pelos quais os sistemas conexionistas so conhecidos.
Caractersticas importantes dos processos cognitivos, como a capacidade de con-
siderar simultaneamente mltiplas restries ou de combinar mltiplas fontes de
conhecimento so representadas com naturalidade nesta arquitetura. Tais caracte-
rsticas contribuem, por exemplo, para a rapidez e robustez do processo humano
de reconhecimento de padres, como poder ser ilustrado na Figura 1.1.
Outra caracterstica do comportamento inteligente que se torna mais facil-
mente representada nesta abordagem a capacidade de generalizao. Os est-
mulos complexos recebidos do mundo exterior por um sistema inteligente nunca
se repetem exatamente. Torna-se fundamental para a operao nestas condies
utilizar-se o princpio segundo o qual estmulos semelhantes devem levar a com-
portamento semelhante. Ao substituirmos o processamento de smbolos discretos
(do tipo presente ou no presente) por padres de sada em processadores (fun-
es contnuas), torna-se possvel reconhecer proximidade entre estmulos e da
generalizar a experincia existente.
Certos sistemas conexionistas enfatizam tambm um novo ponto de vista para
o processo de computao: o ponto de vista de sistema dinmico. Computar uma
soluo corresponde a acompanhar a dinmica natural de um sistema que evolui
com o tempo at seu ponto de equilbrio, onde as restries impostas estaro,
dentro do possvel, obedecidas.
Finalmente, o conexionismo nos prope uma mudana no nvel de anlise
do comportamento inteligente. Os modelos propostos trabalham com represen-
taes distribudas, nas quais a cada conceito simblico corresponde um padro
de ativao em um certo conjunto de unidades processadoras. O sinal de sada
de um processador isolado no costuma representar um conceito claro, pelo que a
abordagem conexionista conhecida tambm como subsimblica. O ideal cone-
xionista demonstrar como os processos cognitivos conscientes e a manipulao
Alexandre Romariz 6
1.2. INTRODUO S REDES NEURAIS
Rede Neural Arquitetura Clssica
Processamento paralelo e distri-
budo
Processamento centralizado,
com grau varivel de parale-
lismo
Processamento numrico Processamento numrico e/ou
simblico
Aprendizado Programao
Sujeita a erros Precisa, nas condies normais
de operao
Tolerante a falhas Falhas catastrcas
Aplicada quando apenas exem-
plos so conhecidos
Aplicada onde h um bom algo-
ritmo geral de soluo
Tabela 1.1: Comparao entre rede neural e arquitetura clssica de processamento.
de conceitos simblicos emergem do nvel subsimblico.
Uma comparao entre um computador em arquitetura clssica e uma rede
neural feita na Tabela 1.1.
1.2.2 O que redes neurais no so
No so uma imitao do crebro. A soma de sinais de entrada efetuada pelo
neurnio articial apresentado anteriormente pode ser associada ao pro-
cesso, efetuado pela capacitncia da membrana do neurnio biolgico, de
integrao temporal dos pulsos eltricos recebidos. Ainda nesta analogia,
o valor de sada representa a freqncia dos pulsos gerados pelo neurnio.
Esta analogia ser melhor desenvolvida na Seo 1.2.4.
O modelo pode causar estranheza pela sua simplicidade quando comparado
ao que se conhece da intrincada troca de sinais eltrico-qumicos no sistema
nervoso. H uma srie de aspectos conhecidos da siologia do crebro que
no esto representados nas chamadas redes neurais articiais. A maioria
destes modelos no lida com a organizao espacial dos neurnios e das
interconexes, e no prevem a existncia de vrios tipos de sinais entre
processadores. Se a inspirao biolgica um dos fundamentos do conexi-
onismo, de se estranhar a ausncia, nos modelos pesquisados, de anlogos
a estruturas conhecidas do sistema nervoso natural. Mas um equilbrio deve
ser buscado entre a plausibilidade biolgica dos modelos e sua tratabilidade
matemtica. Conhecimentos de neurologia so usados como inspiradores
de princpios gerais que os modelos estudados procuram seguir. Alguns dos
Sistemas Inteligentes 7
CAPTULO 1. SISTEMAS INTELIGENTES E REDES NEURAIS
mais importantes so os seguintes as interconexes entre os neurnios for-
mam uma rede densa, a comunicao entre eles feita pelo envio de sinais
excitatrios e inibitrios, e o aprendizado envolve alteraes nas conexes.
de se esperar que novos conhecimentos de siologia neurolgica venham
a contribuir para a evoluo do modelo, mas as propostas no campo de re-
des neurais no se limitam a reproduzir ou modelar fatos conhecidos da
morfologia cerebral.
No entanto, recentemente a questo do carter temporal do processamento
biolgico de informaes foi retomada, e alguns novos modelos processam
pulsos ao longo do tempo, ao invs de nmeros reais.
No so uma novidade de interesse meramente acadmico. As pesquisas no se-
tor so to antigas quanto a idia do computador digital. Seus conceitos fun-
damentais podem ser encontrados no sculo passado! O que de fato ocorreu
foi um ocaso das pesquisas na dcada de 40 (o que coincide com o boom
da mquina a programa armazenado) e uma forte retomada do m dos anos
80 (ver histrico). Hoje a tecnologia neural faz parte de sistemas comerciais
de reconhecimento, controle e automao em todo o mundo.
No so o paradigma do computador do futuro. No h motivo para se pen-
sar que Redes Neurais vo substituir o paradigma clssico de computao
em todas as reas (em operaes matemticas, por exemplo). O que se
imagina que possa ocorrer a interao entre computao simblica e sub-
simblica em sistemas inteligentes.
No so sistemas com pouco fundamento matemtico. A matemtica envolvi-
da muito bem fundamentada, e conhecida h muito tempo. No h nada
de aleatrio ou misterioso em sua operao. Como qualquer sistema no
linear, existe diculdade de anlise no que diz respeito a certas questes
(estabilidade, denio de estrutura, algoritmo e parmetros de treinamento
timos para um dado problema) e por isso h espao para heursticas e pro-
cedimentos de tentativa e erro.
1.2.3 Histrico
Como dissemos acima, os sistemas conexionistas tm uma histria to ou mais
antiga do que a dos computadores digitais. J nos trabalhos de James (1890) en-
contramos os princpios fundamentais do que so hoje o modelo de neurnio e
o princpio da associao. Mas a primeira anlise matemtica das potencialida-
des de redes de elementos processadores inspirados em neurnios data da dcada
de 40. A demonstrao (feita por McCulloch e Pitts) de que associaes des-
tes neurnios articiais podem implementar qualquer funo lgica nita foi o
Alexandre Romariz 8
1.2. INTRODUO S REDES NEURAIS
primeiro sucesso terico do conexionismo. John von Neumann, ao propor a m-
quina a programa armazenado, cita este trabalho e procura associar as operaes
de sua mquina aos neurnios de McCulloch e Pitts.
A primeira onda de entusiasmo com redes neurais surgiu com o Perceptron
de Rosenblatt (1958). Este sistema consegue aprender a classicao de padres
a partir de exemplos. Pela primeira vez via-se um modelo de aprendizado e per-
cepo com resultados concretos. Ao entusiasmo seguiu-se uma grande crise com
a descoberta das limitaes do Perceptron. Tornou-se clssico o caso da funo
ou-exclusivo, que apesar de sua aparente simplicidade no pode ser ensinada a
este sistema. A extenso do Perceptron para superar estas limitaes envolvia
uma metodologia matemtica desenvolvida na dcada de 70 e que s viria a ser
empregada nos anos 80. O trabalho de Minsky e Papert (1969) onde todas estas
diculdades so apontadas, acompanhadas da declarao de uma crena pessoal
(e errnea) dos autores de que a extenso do modelo seria intil, marca o ocaso
das pesquisas em redes neurais na dcada de 70.
No incio dos anos 80, o fsico Hopeld traz de volta o interesse na rea ao
propor um sistema dinmico baseado em neurnios que desempenha a funo de
memria associativa. Barto et al. (1983) tambm utilizam neurnios articiais
com aprendizado associativo para tarefas complexas de controle. Kohonen (1984)
estuda a capacidade de auto-organizao destes sistemas. Mas o ressurgimento
do interesse em conexionismo a que nos referimos anteriormente ocorreu com
o uso do algoritmo de treinamento por retropropagao de erro por um grupo
auto-intitulado PDP (Parallel Distributed Processing) em 1986, que permitiu a
extenso do Perceptron de Rosenblatt para vrias camadas de neurnios e assim
superou as diculdades daquele modelo. Observou-se ento uma exploso de apli-
caes de redes neurais nos mais variados campos: reconhecimento de padres
(com aplicaes industriais, militares, em medicina e nanas), previso de sries
temporais (com aplicaes em economia e nanas), identicao e controle de
sistemas dinmicos complexos, compresso de dados, etc.
Temas recentes da pesquisa em redes neurais incluem mtodos numricos
mais ecientes para treinamento, algoritmos genticos aplicados ao treinamento,
arquiteturas dedicadas ao controle de sistemas dinmicos, arquiteturas modulares,
sistemas hbridos redes neurais / lgica nebulosa e modelos que incorporam as
caractersticas dinmicas geralmente desprezadas nos modelos tradicionais.
1.2.4 A motivao biolgica
Aplicar engenharia reversa para solues existentes em biologia um caminho
atraente mas difcil. No caso particular da arquitetura de processamento de sis-
temas nervosos complexos, a questo de quais caractersticas so fundamentais e
quais detalhes de implementao podem ser abstrados est longe do m. Ainda
Sistemas Inteligentes 9
CAPTULO 1. SISTEMAS INTELIGENTES E REDES NEURAIS
assim, o sucesso prtico das redes neurais articiais lembra-nos da diferena entre
modelagem precisa de sistemas biolgicos (ou teorias convincentes de comporta-
mento inteligente) e computao til de inspirao neural.
Uma caracterstica peculiar da organizao do sistema nervoso o seu carter
distribudo e no-centralizado, bem diferente da arquitetura mais bem sucedida
dos computadores digitais. A tese de que o comportamento inteligente resultado
de um processo coletivo, emergente de muitas unidades simples, conectadas de
maneira densa e plstica deu origem idia de redes neurais articiais.
Por outro lado, uma caracterstica fundamental de modelos abstratos de com-
putao sua universalidade e independncia de mecanismos de implementao.
O mesmo conjunto de funes computveis pode ser gerado por modelos que apa-
rentam no ter semelhana alguma. Do ponto de vista terico, h ainda debates
sobre serem os sistemas conexionistas uma porta para um novo nvel de anlise
da computao [2] ou apenas uma alternativa de implementar certas funes [3].
De um ponto de vista de engenharia, computao neural pode ser vista como til
para uma classe especca de problemas, e seu valor portanto independente de
sua eventual relevncia em Inteligncia Articial.
Pesquisadores do campo de Redes Neurais gostariam de dispor de um modelo
simples que representasse todas as caractersticas principais do neurnio, j que
se acredita que o poder computacional destes sistemas emerge da complexidade
de suas interaes. Uma viso qualitativa de propriedades neurais apresentada a
seguir.
Neurnios so sistemas dinmicos intrincados, e sua operao depende de uma
cadeia de fenmenos bio-eletroqumicos. Vamos nos concentrar em caractersti-
cas relativamente comuns de neurnios, ainda que praticamente qualquer arma-
tiva nesse campo possa ser contestada com um contra-exemplo de uma clula
nervosa especca [4]. A Figura 1.2 apresenta esquematicamente um neurnio.
Nele, duas estruturas originam-se do corpo celular: a rvore dendrtica (que pode
ser vista como uma coleo de terminais de entrada) e um axnio, pelo qual o
sinal de sada propaga.
Neurnios mantm uma diferena de potencial eltrico em sua membrana ex-
terna, em decorrncia de permeabilidade seletiva de ons e bombas ativas, que car-
regam ons contra o gradiente de concentrao. Uma perturbao deste potencial
de equilbrio (provocada, por exemplo, por um estmulo externo em um neur-
nio sensorial, ou pela inuncia da atividade de outro neurnio, como discutido
abaixo), propaga-se pela clula em um processo anlogo transmisso de um si-
nal eltrico em uma linha de transmisso. Este mecanismo passivo de conduo
no efetivo para distncias grandes. Um mecanismo peridico de regenerao
necessrio, j que axnios podem se estender por uma grande frao do crebro,
ou mesmo por todo o corpo [5].
Um processo ativo de regenerao existe [6]. A permeabilidade seletiva dos
Alexandre Romariz 10
1.2. INTRODUO S REDES NEURAIS
(a)
(b)
Axon
hillock
Nodes of Ranvier
W W
Dendrites
Myelin sheath
Axon

Cell Body
Figura 1.2: (a) Viso esquemtica de um neurnio tpico. Sinais eltricos ml-
tiplos se propagam pelos dendritos. Potenciais de ao so gerados inicialmente
no hillock do axnio e podem ser restaurados em cada seo no-mielinada (Ns
de Ranvier). Na viso detalhada, uma conexo sinptica mostrada. Na maio-
ria dos casos, a interconexo entre neurnios mediada por substncias qumicas
(neurotransmissores). (b) Uma abstrao tpica para ns computacionais.
canais inicos , ela mesma, controlada por tenso, criando um lao de realimen-
tao. Quando um segmento da clula despolarizado alm de um certo valor,
certos canais inicos (principalmente canais de Na
+
) tornam-se cada vez mais
permeveis, e assim o uxo inico leva o sistema a um desequilbrio ainda maior
de potencial. Outros canais (principalmente de K
+
) de dinmica mais lenta so
ativados mais tarde, e trazem o sistema de volta ao estado de repouso. O resultado
global um pico bem denido na tenso da membrana, conhecido como potencial
de ao.
Este processo ativo de produo de pulsos geralmente ocorre primeiro no seg-
mento inicial do axnio (hillock), onde a concentrao de canais controlados por
tenso maior e o limiar para a gerao do AP menor [6]. Ainda que haja
evidncia para propagao ativa e no-linear de APs na rvore dendrtica, co-
mum modelar esta propagao como passiva, com o axnio realizando uma soma
e comparao com um limiar. APs permitem transmisso por distncias longas, j
que eles podem ser regenerados em cada regio no-mielinada do axnio (ns de
Ranvier) por um processo fundamentalmente igual ao da gerao inicial de APs.
Sistemas Inteligentes 11
CAPTULO 1. SISTEMAS INTELIGENTES E REDES NEURAIS
Eles tambm tm papel essencial na comunicao entre neurnios, como veremos
abaixo.
Sinais de entrada fracos, que no atingem o limiar de gerao de APs no se
propagam ecientemente. Quanto mais forte o sinal, mais cedo ocorre o AP. Uma
vez que a permeabilidade dos canais demora um pouco para se re-estabelecer, a
produo de um novo AP em um tempo curto relativamente difcil. Estes fatos
sugerem que a relao entre intensidade do sinal de entrada e freqncia dos APs
uma funo crescente com limiar e saturao, uma caracterstica comum a quase
todos os modelos de redes neurais articiais.
O processo pelo qual os neurnios so acoplados (sinapse) tambm um sis-
tema dinmico complexo. Na maioria dos casos, no h contato eltrico. Um AP
inicia a liberao de substncias qumicas (neurotransmissores) que se ligam a s-
tios especcos do neurnio receptor, abrindo canais inicos, e despolarizando-o.
A ecincia desta conexo, que afeta a amplitude e o atraso do potencial ps-
sinptico, varia no espao (conexes chegando a posies diferentes de um neur-
nio podem ter efeitos diferentes) e em mltiplas escalas de tempo. Em particular,
um processo de aumento seletivo de ecincia sinptica no longo prazo, baseado
na correlao de atividades pr e ps-sinpticas (Potenciao de Longo Prazo)
considerado fundamental para aprendizado e memria [7].
Dado este processo complexo, no ca claro nem ao menos quais variveis
fsicas realmente representam informao de alto nvel. O potencial de ao cer-
tamente temumpapel relevante, uma vez que ele desempenha funo fundamental
na comunicao neural. Uma abordagem bastante comum, denominada hiptese
do cdigo freqencial (ver Recce 1999 [8]) toma a freqncia de disparo como
varivel principal. Esta, como mencionado acima, uma funo crescente, no-
linear, das entradas. A idia de que a temporizao dos pulsos carrega informao
(hiptese do cdigo temporal) s ganhou ateno recentemente em estudos ori-
entados a computao. Esta idia no necessariamente oposta a anterior, j que
concebvel que ambos os cdigos estejam sendo usados para tarefas diferentes
de transmisso da informao, ou que cada um adequado para tarefas em escalas
temporais diferentes [9].
O desenvolvimento dos primeiros computadores eletrnicos trouxe um au-
mento no interesse de modelos neurais para computao [10, 11]. Eles baseiam-se
principalmente no cdigo freqencial e do nfase a dois aspectos da arquitetura
do sistema nervoso: soma adaptativa de entradas, e funo de ativao geralmente
no-linear. Este modelo de neurnio articial descrito pelo mapa no-linear e
multidimensional f : R
N
R
y = f
_
w
T
(t)x(t)
_
(1.1)
onde y a sada do neurnio, w um vetor real de pesos sinpticos e x um vetor de
Alexandre Romariz 12
1.2. INTRODUO S REDES NEURAIS
(b)
(a)
Adaptive Connections
Hidden Connection Layer
Output Connection Layer
Delayed recurrent connections
Input connection (initial state)
(c)
Lateral inhibition
Figura 1.3: Exemplos de conectividade de Redes Neurais Articiais. Crculos es-
curos representam entradas externas. (a) Arquitetura multi-camada feed-forward)
usada na rede de retropropagao. (b) Arquitetura recursiva totalmente conectada
da rede de Hopeld. (c) Conexes monocamada lateralmente inibitrias (com
raios de atuao variantes no tempo) no Mapa auto-organizvel de Kohonen.
valores de entrada de outros neurnios ou do ambiente externo. Os pesos sinpti-
cos w variam lentamente no tempo, durante a adaptao ou aprendizado. Funes
de ativao f comuns so as chamadas funes logsticas, como a sigmide e a
tangente hiperblica.
Esses neurnios articiais podem ser combinados de muitas formas para for-
mar redes neurais articiais (veja a Figura 1.3). Redes feed-forward (1.3a) so
estruturas de camadas de neurnio, com conexo total entre camadas vizinhas.
Esta a arquitetura da rede de retropropagao de erro (Backpropagation) [12],
possivelmente o modelo mais usado de rede neural. Tambm possvel ter to-
das os neurnios recebendo uma mesma entrada, com interaes inibidoras entre
neurnios vizinhos ( 1.3c). Esta congurao usada no mapa auto-organizvel
de Kohonen [13]. Outro exemplo de conectividade a rede recorrente e totalmente
conectada ( 1.3b), usada no modelo de Hopeld para memria associativa [14].
Sistemas Inteligentes 13
CAPTULO 1. SISTEMAS INTELIGENTES E REDES NEURAIS
1.2.5 Exemplos de operao
Terminamos este captulo com exemplos de operao de algumas das redes apre-
sentadas na seo anterior. Estes exemplos sero apresentados em maior detalhe
adiante.
Em primeiro lugar, consideremos a utilizao da rede backpropagation para
reconhecimento de padres (1.3a). Em particular, imaginemos que as entradas
sejam valores de intensidade luminosa em cada pixel de uma imagem, e as sadas
sejam classes entre as quais as imagens devam ser classicadas (podemos imagi-
nar uma aplicao em que a rede deve indicar qual letra do alfabeto est indicada
pela imagem apresentada).
O nmero de camadas deve ser denido por tentativa e erro (geralmente duas
ou trs), bem como o nmero de neurnios nas camadas intermedirias. Na ca-
mada de sada, o nmero de neurnios corresponde ao nmero de classes existen-
tes. (exceto na camada de sada, na qual o nmero de neurnios corresponde ao
nmero de classes existentes). A funo de ativao dos neurnios costuma ser
do tipo sigmide ou tangente hiperblica.
A esta rede aplica-se aprendizado supervisionado: uma srie de exemplos (va-
lores dos pixels de imagens conhecidas, e a respectiva classe) fornecida rede,
que ajusta os pesos das conexes entre neurnios seguindo algoritmo especco.
Se o aprendizado concludo com sucesso, a rede capaz de classicar com
grande taxa de acerto padres diferentes dos estudados (capacidade de generali-
zao)
Vejamos, como segundo exemplo, uma rede de Hopeld (1.3b) aplicada em
um problema de otimizao. Neste problema desejamos encontrar que conjunto
de parmetros minimiza uma certa funo. Como todos os neurnios esto liga-
dos a todos os outros, a partir de uma condio inicial, vrios neurnios mudaro
de estado, o que produzir a mudana de estados de outros neurnios, e assim por
diante, at que um equilbrio seja encontrado. Pode-se dizer que a rede minimiza
uma funo de energia, como se fora um sistema dinmico agindo sob as leis da
fsica. Esta funo determinada pelos valores das interconexes. Se conseguir-
mos valores de interconexo tais que a funo de energia seja anloga funo
que desejamos minimizar, a simples computao sucessiva dos valores de ativao
dos neurnios acabar por indicar, quando a rede se estabilizar, o valor mnimo da
funo como esperado.
Alexandre Romariz 14
Captulo 2
Rede de Hopeld e Rede de
Retropropagao
2.1 Rede de Hopeld
2.1.1 Arquitetura e Denies
uma rede neural totalmente interconectada, como mostrado na Figura 2.1. Todos
os neurnios so ligados entre si .A sada de cada um deles dada por
s
j
=

i
w
ij
y
i
(2.1)
y
j
=
_
1, s
j
< 0
1, s
j
>= 0
(2.2)
onde o somatrio realizado sobre todos os neurnios conectados ao neurnio j.
A atualizao dos valores da rede pode ser feita de dois modos: no modo sn-
crono, todos os neurnios so atualizados ao mesmo tempo, isto , os valores
antigos de todos os neurnios so usados para o clculo dos novos valores. Na
atualizao assncrona, estabelece-se uma ordem aleatria de atualizao. Ao atu-
alizarmos o neurnio j, valores novos de neurnios atualizados anteriormente j
sero empregados.
Esta rede, a rigor, no tem entradas. A pergunta ao sistema feita denindo-
se o estado inicial dos neurnios. Voltemos ao exemplo do reconhecimento de
caracteres. Imaginemos que cada pixel aceso de uma imagem corresponda a um
neurnio com valor 1. Uma imagem, corrompida, informada ao sistema para re-
conhecimento. Neste caso, os valores dos pixels (1 ou -1) da imagem corrompida
inicializa os valores dos neurnios. A partir da, a rede evolui segundo a regra
15
CAPTULO 2. REDE DE HOPFIELD E REDE DE RETROPROPAGAO
1 2 3 4
w
41
w
14
w
21
Figura 2.1: Rede de Hopeld de 4 neurnios.
apresentada acima. Espera-se que ela se estabilize em um estado que corresponda
imagem mais prxima que foi armazenada no sistema.
Toda a dinmica da rede depende da matriz de interconexo. Hopeld conse-
guiu estud-la fazendo uma analogia com um sistema fsico (spins em um material
paramagntico). Assim, se o sistema fsico busca em sua dinmica a minimizao
de sua energia, este sistema tambm minimiza naturalmente em sua operao uma
certa funo, relacionada matriz de interconexo.
E =

i<j
w
ij
s
i
s
j
(2.3)
O problema passa a ser ento determinar a matriz de interconexo de maneira
a termos uma funo-energia com mnimos locais (pontos estveis) em estados
que nos interessam. A existncia de pontos estveis garantida para matriz de
interconexo simtrica e atualizao assncrona.
2.1.2 Denio da matriz de interconexes
Existem diversas regras, mas apresentamos apenas duas delas: a que se baseia na
correlao das atividades dos neurnios nos padres a armazenar e a que se baseia
no conceito de matriz pseudo-inversa.
Sejam v
1
, v
2
. . . v
M
um conjunto de vetores a armazenar. Isto , queremos que
estes sejam estados estveis da rede. O mtodo da correlao, diretamente ligado
regra de Hebb para aprendizado, prescreve que a matriz de interconexo Wseja
Alexandre Romariz 16
2.1. REDE DE HOPFIELD
calcula de acordo com
W =
1
N
M

=1
p
i
p
i
T
MI, (2.4)
onde N o nmero de neurnios na rede e I a matriz identidade. O ltimo termo
da equao faz com que a diagonal principal de W seja nula.
Uma outra abordagem utiliza o conceito de matriz pseudo-inversa. Seja P a
matriz formada pelos vetores a serem armazenados, isto , P = [ v
1
, v
2
. . . v
M
].
Queremos ento resolver a equao WP = P, para garantir que todos os
vetores p
i
sejam armazenados. Em geral P uma matriz retangular com N >
M, ou seja, o nmero de padres a armazenar (nmero de colunas da matriz)
menor que o tamanho da rede (nmero de linhas da matriz). Assim, a equao
matricial acima representa um sistema linear com mais incgnitas que equaes.
Uma soluo com boas propriedades dada pela matriz pseudo-inversa., denida
a seguir.
Seja Auma matriz mn. A sua pseudo-inversa A
+
a matriz que apresenta
as seguintes propriedades.
AA
+
A = A
A
+
AA
+
= A
AA
+
e A+ so simtricas.
Se A quadrada e no-singular, A
+
= A
1
. Para o caso geral, se rank(A) =
n, mostra-se que
A
+
=
_
A
T
A
_
1
A
T
(2.5)
E assim, basta denir a matriz de interconexo como W = PP
+
.
2.1.3 Caractersticas da Rede de Hopeld
Devem ser notadas as seguintes caractersticas:
No necessita de treinamento. A matriz de interconexo calculada em um
s passo, a partir do conhecimento que se tem do problema.
Apresenta vrias vantagens em problemas de otimizao: sua dinmica na-
tural pode corresponder computao simultnea de mltiplas restries, e
alm disso a complexidade da operao no aumenta dramaticamente com
o nmero de variveis.
Sistemas Inteligentes 17
CAPTULO 2. REDE DE HOPFIELD E REDE DE RETROPROPAGAO
Uma limitao aparente a necessidade de independncia linear dos pontos de
equilbrio. Esta limitao no grave, no entanto. Quanto maior o tamanho dos
vetores, menos provvel se torna a existncia de dependncia linear entre eles.
Uma limitao mais grave a existncia de mnimos esprios de energia. A
expresso da matriz T garante que padres de interesse correspondam a mnimos
da funo de energia, mas o contrrio no necessariamente verdade: haver
mnimos da funo de energia que no correspondero a nenhum padro de in-
teresse. Observe, por exemplo, que a simetria da funo de energia faz com que
o inverso de um padro o padro obtido trocando-se os valores de todos os
neurnios 1 por -1 e vice-versa tem o mesmo valor de energia. Assim, para
cada padro armazenado, seu inverso armazenado tambm.
medida em que o nmero de padres armazenados aumenta, o mesmo
ocorre com o nmero de mnimos esprios, o que na prtica limita a aplicao
da rede. Mostra-se que o nmero de padres que podem ser armazenados na pr-
tica apenas 0,15 vezes o nmero de neurnios. Tenta-se melhorar esta limitao
denindo-se alguns neurnios ocultos, isto , que no correspondem a nenhum
elemento dos vetores a serem armazenados. Neste caso, necessrio usar uma
forma de treinamento, porque o valor correto destes neurnios no denido
pelo padro de entrada. Esta rede chamada Mquina de Boltzmann.
2.1.4 Resfriamento simulado
Chama-se de resfriamento simulado (simulated annealing), uma tcnica de oti-
mizao que visa evitar mnimos locais. Na Figura 2.2, temos uma abstrao
monodimensional de uma funo a ser otimizada. O ponto A um mnimo da
funo, mas no uma soluo to boa quanto o ponto B. Formas de escapar
destes mnimos locais so sempre buscadas em algoritmos de minimizao.
A inspirao para a tcnica de resfriamento simulado vem da metalurgia.
Observa-se que um resfriamento controlado do material processado leva a um
nmero menor de defeitos. A razo que, a altas temperaturas, a possibilidade
de carmos presos a um mnimo local pequena, porque a agitao trmica
garante a existncia de movimentos contrrios dinmica natural. O resfriamento
lento aumenta a chance de o sistema se equilibrar em um mnimo efetivamente
global.
Nesta tcnica, sobrepe-se dinmica natural do sistema (descendente na
funo-energia) uma dinmica aleatria, controlada por um parmetro que decai
com o tempo, denominado temperatura por analogia.
Em termos especcos, para implementar esta tcnica na rede de Hopeld,
inclui-se uma probabilidade de que umneurnio passe para o estado ativo (y
j
= 1)
Alexandre Romariz 18
2.2. A REDE DE RETROPROPAGAO
A
B
Figura 2.2: Viso simplicada de uma funo a otimizar. O ponto A mnimo,
mas no o mnimo global. Umbommtodo de otimizao deve, se for iniciado nas
proximidades do ponto A, avanar na direo contrria do gradiente para poder
encontrar o ponto B.
mesmo que ele tenha excitao global negativa (s
j
< 0), de acordo com
p
k
=
1
1 + exp(
E
k
T
)
(2.6)
onde E
k
o quanto aumenta a funo energia da rede com a ativao do neur-
nio k.
2.2 A rede de retropropagao
2.2.1 O Perceptron e a regra delta
Como foi dito na seo 1.2.3, o Perceptron de Rosenblatt (1957) iniciou a primeira
onda de interesse em redes neurais. A caracterstica mais impressionante deste
sistema sua habilidade de aprender a partir de exemplos. A Figura 2.3 mostra
um Perceptron tpico, usado para distinguir pontos de duas regies de um plano.
A operao do Perceptron segue o princpio j apresentado de modelo de
neurnio. As entradas so somadas (com ponderao dada pelo vetor de inter-
conexes), e aplica-se soma resultante uma funo no linear.
Sistemas Inteligentes 19
CAPTULO 2. REDE DE HOPFIELD E REDE DE RETROPROPAGAO
x
0
x
1
x
0
x
N-1
Entradas
Saida
Figura 2.3: Neurnio tpico de uma rede perceptron. esquerda, vemos um
exemplo de classicao linear bidimensional de padres. A rede deve aprender
quais parmetros denem uma reta que separa os dois padres.
O tipo de aprendizado operado sobre esta rede chamado supervisionado.
Nele, dispomos de um professor que fornece rede exemplos de entrada com
as respectivas respostas corretas. O algoritmo de treinamento deve modicar os
parmetros da rede (pesos) de forma a otimizar sua performance. Terminado o
aprendizado, espera-se que a rede consiga bom desempenho em questes diferen-
tes das apresentadas no treinamento ( o que se chama capacidade de generaliza-
o).
Rosenblatt props uma regra de adaptao para este neurnio, provando um
resultado bastante forte: se as classes apresentadas so separadas nos espao de
parmetros por hiperplanos (no caso bidimensional da Figura 2.3, uma linha reta),
o vetor de pesos converge para uma classicao perfeita.
A regra proposta extremamente simples. Seja w
i
[t] o valor atual do peso que
conecta o neurnio i-sima entrada x
i
. Seja y a sada do neurnio, e seja d a
sada desejada para o exemplo ora apresentado. O novo peso ser
w
i
[t + 1] = w
i
[t] + w
i
[t] (2.7)
onde
w
i
[t] = (d y)x
i
(2.8)
A constante positiva por vezes denominada taxa de aprendizado (learning
rate) e costuma ser denida por tentativa e erro. Tipicamente, 1.
Observar que, para um exemplo em que a classicao foi perfeita, no h
mudana nos pesos. Se a rede deveria ter tido uma sada maior do que a obtida
(d > 0), o peso de uma entrada positiva aumenta, e de uma negativa diminui. Da
Alexandre Romariz 20
2.2. A REDE DE RETROPROPAGAO
x y x y
0 0 0
0 1 1
1 0 1
1 1 0
Tabela 2.1: Denio da funo ou-exclusivo, que o mais clebre exemplo de
classicao no-linearmente separvel de padres.
prxima vez que a mesma entrada for apresentada, de fato mais provvel que se
tenha uma resposta correta.
A rede aprende a partir dos erros cometidos na classicao. Os exemplos
so apresentados vrias vezes, at se obter a convergncia do vetor de pesos, ou
at que o erro de classicao seja aceitvel. A desvantagem do uso da funo
limiar, que o vetor de pesos pode oscilar quando os padres no se apresentam
claramente separados (por causa de rudo, por exemplo).
Se a funo de ativao for diferencivel (no o caso da funo de limiar),
uma regra semelhante a esta ser encontrada a partir de consideraes da teoria de
aproximao estocstica de funes. O sistema resultante ser idntico, a menos
de nomenclatura, do ltro adaptativo ADALINE (Adaptive Linear Element) de
Widrow, e a regra de aprendizado (neste caso chamada de adaptao ) conhecida
como Regra Delta na teoria de Redes Neurais e como algoritmo LMS (Least Mean
Squares) em processamento digital de sinais. Isto revela uma clara relao entre
redes neurais e PDS, apesar de das diferenas de motivao em cada caso.
A capacidade de aprendizado a partir dos prprios erros, encontrada no Per-
ceptron, foi motivo de muito entusiasmo na poca, visto que este claramente um
dos objetivos da Inteligncia Articial. No entanto, a necessidade de separao
linear entre as classes uma limitao muito grave. No livro Perceptrons, editado
em 1969, os pesquisadores Minsky e Papert (defensores da abordagem simb-
lica de IA), deixam isto muito evidente com a funo ou-exclusivo, mostrada na
Tabela 2.1
fcil perceber que nenhuma reta no plano xy capaz de separar os pontos
onde a funo vale 0 dos pontos onde vale 1. Por isso, o Perceptron falhar na
tentativa de aprender este relacionamento extremamente simples entre duas vari-
veis.
Evidentemente, havia a esperana de se poder estender de alguma forma as
habilidades do Perceptron para problemas mais complexos. A idia mais simples
seria utilizar uma estrutura multicamada (um conjunto de Perceptrons alimenta
um outro e assim sucessivamente). Para o caso do ou-exclusivo, at possvel
construir por inspeo uma rede como esta que resolve o problema adequada-
Sistemas Inteligentes 21
CAPTULO 2. REDE DE HOPFIELD E REDE DE RETROPROPAGAO
mente. Mas como treinar a rede para problemas do mundo real, cuja resposta
no sabemos a priori? Deparamo-nos aqui com um problema: como determinar o
comportamento destes Perceptrons intermedirios, cuja sada no representa ne-
nhuma varivel especicada pelos exemplos disponveis? A extenso da regra
delta para vrias camadas de processadores s foi conseguida em meados dos anos
80. At ento, houve praticamente o abandono das pesquisas em conexionismo.
2.2.2 O Perceptron multicamada e a regra de retropropagao
de erro
Quando foi conseguida, a extenso do Perceptron de Rosenblatt causou o ressur-
gimento da pesquisa em redes neurais. Este ainda o tipo de rede mais utilizado
em aplicaes, pelo que vamos nos deter em algum detalhe em sua estrutura e seu
treinamento. Cabe ainda notar que estruturas como estas so aproximadores uni-
versais: dada uma funo contnua qualquer denida em um domnio compacto,
existe uma rede neural com uma matriz de conexo entre camadas que a aproxima
com erro arbitrariamente pequeno.
Este tipo de rede costuma ser chamada rede backpropagation, ainda que
o termo backpropagation se rera mais especicamente sua regra de treina-
mento, e no sua arquitetura. O termo perceptron multicamada tambm
usado, ainda que a rigor, a tcnica de treinamento necessita das derivadas da fun-
o de ativao, ao contrrio do que ocorria na regra delta original. As funes
de ativao mais usadas para neurnios desta rede so as funes denominadas
balsticas, como a tangente hiperblica ou a sigmide.
A rede utiliza uma topologia de camadas de neurnios, com conexes unila-
terais de uma camada para a seguinte, mas sem conexes dentro de uma mesma
camada (arquitetura feed forward). A Figura 2.4 mostra um trecho de uma rede
PMC hipottica, para denirmos a notao utilizada.
Lembramos que a grande diculdade para denir o treinamento desta estrutura
reside no fato de que os exemplos a princpio s nos permitem calcular o erro dos
neurnios de sada (como o valor y
31
mostrado). Para os neurnios da camada
escondida (como o que produz a sada y
22
), os exemplos no nos fornecem sadas
desejadas.
Queremos encontrar a derivada do erro com relao a uma certa interconexo
w
1ij
ou w
2ij
, para podermos modicar esta interconexo no sentido contrrio do
aumento de erro (descida de gradiente).
Vamos denir o erro das sadas da rede como
E =
1
2

j
(d
j
y
3j
)
2
. (2.9)
Alexandre Romariz 22
2.2. A REDE DE RETROPROPAGAO
x
1
x
2
x
n
w
111
w
1nm
y
2m
y
21
w
211
w
2mk
y
31
y
3k
Figura 2.4: Estrutura da rede backpropagation Neste exemplo, temos uma rede
com 2 camadas, com n entradas, m neurnios na camada escondida e k neurnios
na camada de sada.
A sada de um neurnio da camada de sada vale:
y
kj
= g
_

i
w
k1 i j
y
k1 i
_
(2.10)
Para os neurnios da camada escondida, basta trocar y
k1 i
por x
i
na expresso
acima.
Seja I
kj
o argumento de g, ou seja,
I
kj
=

i
w
k1 i j
y
k1 i
. (2.11)
Vamos calcular a derivada do erro com relao a uma interconexo da ltima
camada:
E
w
2ij
=
E
I
3j
I
3j
w
2ij
(2.12)
I
3j
w
2ij
= y
2i
(2.13)
E
I
3j
=
E
y
3j
y
3j
I
3j
= (d
j
y
3j
) g

(s)|
s=I
3j
(2.14)
Sistemas Inteligentes 23
CAPTULO 2. REDE DE HOPFIELD E REDE DE RETROPROPAGAO
Finalmente, encontramos
E
w
2ij
= (d
j
y
3j
) g

(s)|
s=I
3j
y
2i
(2.15)
e assim a atualizao de uma interconexo da ltima camada ser:
w
2ij
= (d
j
y
3j
) g

(s)|
s=I
3j
y
2i
(2.16)
Observar que a nica diferena para a regra de Rosenblatt o termo g(s), relativo
derivada da funo de ativao.
Para a camada escondida, comeamos da mesma maneira:
E
w
1ij
=
E
I
2j
I
2j
w
1ij
(2.17)
I
2j
w
1ij
= x
i
(2.18)
E
I
2j
=
E
y
2j
y
2j
I
2j
=
E
y
2j
g

(s)|
s=I
2j
(2.19)
Como j comentamos, o nico problema o clculo da derivada do erro com
relao sada de um neurnio da camada escondida. Mas, esta questo que
paralisou as pesquisas em redes neurais durante 32 anos, resolve-se com uma
simples aplicao da regra da cadeia!
E
y
2j
=

k
_
E
I
3k
I
3k
y
2j
_
=

k
_
E
I
3k
w
2jk
_
(2.20)
Portanto, chega-se a
w
1ij
= g

(s)|
I
2j

k
d
3k
w
2jk
(2.21)
onde
d
3k
=
E
I
3k
= (d
k
y
3k
)g

(s)|
I
3k
(2.22)
observe que a quantidade d
3k
calculada na atualizao de pesos da camada
de sada e propagada para trs em direo s camadas anteriores, atravs das
mesmas conexes usadas para calcular a sada. Da o nome retropropagao de
erro.
Alexandre Romariz 24
2.2. A REDE DE RETROPROPAGAO
2.2.3 Algumas observaes sobre a rede de retropropagao
Como j dissemos, a extenso do Perceptron de Rosenblatt para vrias camadas
com um algoritmo eciente de aprendizado fez renascer a pesquisa em conexio-
nismo. O PMC com regra delta modicada de aprendizado (ou regra de retropro-
pagao de erro ou ainda backpropagation) tornou-se uma ferramenta poderosa,
aplicada nas mais diversas reas. Antes de estudarmos algumas de suas aplica-
es, faremos alguns comentrios gerais sobre aspectos tericos e prticos do uso
desta rede.
A polmica da criao do algoritmo. O termo backpropagation e seu uso em
redes neurais surgiu em um trabalho do grupo de pesquisa PDP (Parallel
Distributed Processing), liderado pelos americanos Rumelhart e McClel-
land, em 1986. No entanto, aparentemente, este tipo de adaptao de par-
metros conhecido no campo da matemtica aplicada desde a dcada de 70
(vide os trabalhos de Werbos) e possivelmente antes. De qualquer forma,
foi a partir de 1986 que esta teoria foi aplicada.
A capacidade de aproximao universal. J nos referimos a este resultado an-
teriormente. Foram demonstrados vrios teoremas armando que, dada
uma funo contnua em um domnio limitado, existe um PMC com duas
camadas de interconexo que a aproxima arbitrariamente bem. Este resul-
tado deve ser visto com cautela em termos prticos. Em primeiro lugar, ele
puramente existencial (nenhuma pista de que rede seria esta fornecida).
Nem mesmo a nitude da rede est garantida! No h hoje como saber,
xada uma rede com certo nmero de neurnios, se ela capaz ou no de
representar arbitrariamente bem uma ampla classe de funes.
A capacidade de generalizao . Verica-se na maioria dos casos um excelente
desempenho da rede aps treinamento, em pontos do espao que no ha-
viam sido apresentados. preciso observar que no h garantias matemti-
cas rigorosas de que isto deva acontecer. Nossa garantia intuitiva de que a
funo de sada da rede ser contnua, como contnua a maioria dos mape-
amentos de interesse em problemas reais. Assim, em regies prximas aos
pontos estudados no treinamento, teremos respostas prximas aos valores
conhecidos de sada, o que uma estratgia razovel de aproximao.
A constante de aprendizado. Como j dissemos anteriormente, este valor de-
nido por tentativa e erro, acompanhando-se a evoluo do erro mdio du-
rante o treinamento. Um comportamento excessivamente oscilante deste
erro indcio de um valor muito elevado para a constante. Os valores abso-
lutos de entrada e sada, o nmero de pontos de treinamento e a estratgia
de atualizao (ver adiante) tm inuncia nesta escolha.
Sistemas Inteligentes 25
CAPTULO 2. REDE DE HOPFIELD E REDE DE RETROPROPAGAO
Aprendizado estocstico e em batelada (batch learning). H basicamente du-
as estratgias para atualizao a partir do erro. Para cada padro apresen-
tado, uma mudana em cada peso w
ijk
ser computada. O peso pode
ento ser modicado imediatamente, ou ento este valor ser somado com a
modicao devida aos outros padres, e s aps a apresentao de todos os
padres modicam-se os pesos. Nas aplicaes de redes neurais, estas duas
estratgias tm sido usadas indistintamente, com bons resultados. curioso
notar que as descries matemticas destas duas formas de treinamento so
completamente diferentes.
Se modicamos os parmetros da rede cada apresentao de um exem-
plo, estaremos em cada passo com um diferente gradiente de erro, j que
o erro instantneo tambm funo do exemplo apresentado. A dedu-
o da regra delta apresentada acima no se aplica diretamente. A descida
de gradiente passa a ser um processo estocstico. Uma regra idntica seria
obtida a partir desta teoria, mas este aprendizado estocstico ou on-line le-
arning exige algumas consideraes especiais. O passo do algoritmo ()
deve tender a zero a medida que o treinamento evolui (isto s vezes igno-
rado na prtica, e raramente tem conseqncias muito danosas), e a ordem
dos pontos apresentados passa a ter muita importncia (isto sim, deve ser
observado na prtica). importante que os exemplos venham de regies
diferentes do espao a cada instante. O treinamento comporta-se muito mal
quando os exemplos de regies prximas so apresentados em seguida. Este
gnero de aprendizado obrigatrio quando se tenta fazer adaptao on-line
(por exemplo, quando se tenta a identicao de um sistema dinmico em
tempo real).
O outro gnero de aprendizado (em batelada ou batch-learning ) permite
uma implementao eciente em termos de matrizes e, em algoritmos de
treinamento mais complexos (gradiente conjugado, por exemplo) sempre
preferido. Como a amplitude das mudanas ser a soma das amplitudes
devidas a cada padro, o valor de a aqui deve ser menor do que no treina-
mento estocstico, e deve ser to menor quanto mais pontos de treinamento
houver. Evidentemente, a ordem dos exemplos no importante aqui.
O nmero de camadas e de neurnios em uma camada . No h teoria que gui-
e esta escolha. O resultado de aproximao universal nos garante que uma
camada escondida suciente, mas a adio de camadas extra parece po-
der substituir a adio de um grande nmero de neurnios em uma camada
nica.
A validao cruzada. Em geral, prolongar em demasia o treinamento faz a rede
comear a reproduzir o rudo inerente aos dados de entrada, fenmeno co-
Alexandre Romariz 26
2.2. A REDE DE RETROPROPAGAO
nhecido como sobretreinamento (overtraining). O erro continua a cair no
arquivo de treinamento, mas a performance real do sistema ir piorar. Existe
uma prtica bastante eciente para contornar este problema: separam-se al-
guns dos pontos de treinamento apenas para validao, ou seja, eles so
usados para avaliar a performance mas no para ajustar os pesos. A per-
formance sobre estes pontos melhora do incio do treinamento at quando
comea a ocorrer o overtraining. Neste ponto de mnimo o treinamento
deve ser interrompido.
Normalizao dos valores de entrada. As equaes do algoritmo de treinamento
mostram que a atualizao dos pesos funo da magnitude do erro. Assim,
valores absolutos muito elevados na entrada ou na sada exigem constantes
de aprendizado pequenas. Pode haver problemas de instabilidade numrica
neste ajuste, pelo que recomendvel a normalizao dos valores. Cabe
notar ainda que se neurnios com sada do tipo sigmide (limitada entre 0 e
1) forem usados na camada de sada, esta normalizao imprescindvel. A
nica outra alternativa seria usar neurnios de funo de ativao identidade
(apenas soma as entradas) na camada de sada.
Alm de uma simples normalizao de escala, outras transformaes sobre
os valores de entrada so teis. Por exemplo, interessante transformar os
dados para que tenham mdia zero, e que os desvios das diversas variveis
de entrada sejam semelhantes. Observando-se que a funo de ativao lo-
gstica tem derivada nula para mdulo muito elevado de entrada, deve-se
evitar que os neurnios atinjam valores exremos de saida no incio do trei-
namento, ou ento a alterao de pesos ter um valor insignicante. Assim,
os pesos inciais, aleatrios, devem ter uma faixa de valores que resultem em
sadas prximas ao meio da faixa dinmica do neurnio.
Plausibilidade biolgica. Temos aqui um exemplo em que o algoritmo resultante
no tem aparentemente nenhuma relao com sistemas de aprendizado bio-
lgico. No parece haver nenhum indcio de retropropagao de erro no
sistema nervoso animal (embora uma minoria de pesquisadores ainda de-
fenda que fenmenos como estes ainda podem ser encontrados). Como j
havamos comentado, se um algoritmo de aprendizado tem revelado bons
resultados, a inexistncia de paralelo natural conhecido no costuma ser le-
vada em conta.
2.2.4 Roteiro para treinamento
Apresentamos a seguir uma descrio serial das atividades geralmente envolvidas
na aplicao de redes neurais do tipo MLP em problemas de engenharia.
Sistemas Inteligentes 27
CAPTULO 2. REDE DE HOPFIELD E REDE DE RETROPROPAGAO
Dados de entrada Deve-se denir quais so as entradas e sadas da rede. No
necessrio conhecer uma funo analtica que relacione entradas e sadas,
mas algum conhecimento sobre o problema ajuda a retirar dados irrelevan-
tes da entrada. Um trabalho de pr-processamento adequado pode ser a
diferena entre sucesso e fracasso da aplicao. Em uma anlise de ima-
gens, por exemplo, dicilmente o uso direto dos valores de intensidade de
todos os pixels, sem nenhum pr-processamento, levar a uma boa perfor-
mance. Medidas comuns de pr-processamento incluem a representao em
freqncia (Transformada de Fourier) e outras transformaes para garantir
certas invarincias (escala, translao, rotao, etc.)
Dados de sada A sada pode ser uma funo contnua (por exemplo, se deseja-
mos estimar o valor de uma varivel econmica futura, dado seus valores
recentes) ou valores discretos (por exemplo, a rede indica se h ou no h
uma anomalia no sistema, a partir da leitura dos parmetros atuais). No
segundo caso, a escolha mais comum termos um neurnio de sada para
cada classe (no exemplo dado, um neurnio para indicar Sistema Normal
e outro para indicar Sistema Defeituoso) .
Arquivos de Treinamento e Teste Os exemplos conhecidos devem ser divididos
em 2 ou 3 arquivos. O principal (de treinamento) contm a maior parte dos
dados, e ser usado para o ajuste da rede. Uma parcela menor dever ter
exemplos que no so usados para ajuste de pesos, mas apenas para veri-
cao de desempenho. Este denomina-se arquivo de teste, embora alguns
autores faam uma distino entre Validao (teste de desempenho durante
o treinamento, para escolher o momento de parada) e Teste (para uma es-
timativa nal de desempenho, ao nal do treinamento). Se pretendermos
usar treinamento estocstico ou on-line, preciso garantir que o arquivo de
treinamento esteja embaralhado, isto , que os exemplos semelhantes no
sejam linhas vizinhas do arquivo.
Topologia da Rede Denidos os dados de entrada, sabemos quantas variveis de
entrada existem, e quantos neurnios na sada. Infelizmente, no sabemos
quantos neurnios sero usados na camada escondida, nem se conveniente
termos mais de uma camada escondida. Isto denido por tentativa e erro.
Treinamento Denidos todos os parmetros, inicia-se um lao de treinamento.
Para cada exemplo, apresenta-se os valores de entrada rede, e computa-se
a sua sada. Comparando-se a sada desejada com a obtida, temos os erros
da camada de sada. Aplicando-se o algoritmo backpropagation,calculam-
se as modicaes em todos os pesos da rede
1
. No treinamento on-line, esta
1
Lembre-se de que cada neurnio tem um valor de limiar ou vis (bias), que para todos os
Alexandre Romariz 28
2.2. A REDE DE RETROPROPAGAO
modicao aplicada de imediato. No treinamento off-line esta modica-
o ser somada modicao calculada para todos os outros exemplos, e
ento nalmente aplicada.
Repeties Um erro comum entre estudantes imaginar que, apresentado um
exemplo, ele seja compreendido imediatamente, ou seja, que quando to-
dos os exemplos foram apresentados a rede esteja treinada. Na verdade,
cada apresentao da rede resulta em uma pequena melhoria de perfor-
mance. Em qualquer problema complexo, todo o arquivo de treinamento
apresentado centenas, milhares, ou at centenas de milhares de vezes
rede.
Avaliao de desempenho Ao longo do treinamento, preciso avaliar o desem-
penho geral da rede. A soma do erro quadrtico de todos os neurnios em
todo o arquivo de treinamento uma boa medida. No caso de reconheci-
mento de padres, comum interpretar a deciso da rede como a classe
correspondente ao neurnio com maior sada.No exemplo dado acima, se o
neurnio ligado a Sistema normal fornece 0.7 e o neurnio Sistema de-
feituoso fornece 0.6, a deciso da rede naquele momento Sistema Nor-
mal. Para acompanhar o desempenho nestes casos, comum empregar-se
o percentual de erros (ou acertos) em todo o arquivo de treinamento. Se
a rede neural encontrar-se em uma situao de baixo desempenho que no
melhora com o treinamento prolongado, pode-se tentar uma variao nos
parmetros de treinamento ou na arquitetura da rede (nmero de neurnios
nas camadas escondidas, por exemplo).
2.2.5 Limitaes da rede de retropropagao
O PMC ainda hoje em dia a rede neural mais utilizada. Listaremos a seguir
as principais limitaes desta rede, que motivaram as pesquisas mais recentes em
conexionismo, que sero estudadas adiante:
Onde entra o tempo? O PMC tem sido usado com sucesso na identicao e
controle de sistemas dinmicos. No entanto, a varivel tempo nestes ca-
sos mapeada como outra qualquer (a dinmica do sistema estudada como
um mapeamento esttico entre valores anteriores e futuros das variveis de
estado). Parece natural esperar que o tempo tenha um papel mais importante
no aprendizado, e que se a prpria rede se comportar como um sistema din-
mico (como a rede de Hopeld) teremos melhores resultados. Imaginemos
efeitos um peso ligado a uma entrada ctcia que vale sempre 1. Evidentemente, este parmetro
tambm ajustado.
Sistemas Inteligentes 29
CAPTULO 2. REDE DE HOPFIELD E REDE DE RETROPROPAGAO
por exemplo o problema de interpretao da linguagem natural. A inter-
pretao correta sempre dependente do contexto, e no parece haver uma
forma simples de modelar esta dependncia sem que o sistema tenha algum
tipo de memria.
Vrios esquemas de realimentao foram propostos para este m. A idia
de que a sada de pelo menos alguns neurnios sejam funo tambm dos
valores de sada em tempos anteriores. A questo que o algoritmo de trei-
namento complica-se enormemente. No algoritmo de retropropagao de
erro no tempo (backpropagation through time), por exemplo, o erro deve
ser calculado para trs no apenas da sada para camadas anteriores, mas
tambm do presente para o passado (acumulam-se informaes sobre toda
uma trajetria do sistema, e ento inicia-se a retropropagao). Ele exige,
portanto o armazenamento de muita informao intermediria, e no ade-
quado para identicao on-line. O treinamento de uma rede recorrente
em geral uma tarefa difcil. A prpria rede agora um complexo sistema
dinmico no linear, exibindo fenmenos de difcil anlise.
A incluso de dinmica nos prprios modelos neurais, que passariam a se
assemelhar mais a seus equivalentes biolgicos, s recentemente passou a
ser estudada.
Existem estratgias melhores do que a de gradiente? Andar umpouco no sen-
tido contrrio do gradiente do erro a estratgia mais simples de otimiza-
o. Naturalmente, tambm a mais limitada. No h nenhuma informao
de quanto caminhar em cada passo, obrigando-nos a usar um passo padro
bastante pequeno. A amplitude da atualizao dependente do mdulo da
derivada do erro, o que leva a um comportamento contrrio ao que intuitiva-
mente se deseja: o algoritmo d grandes saltos nos pontos mais movimenta-
dos da funo e caminha lentamente em regies planas. Algoritmos de gra-
diente conjugado (ver o Captulo 3) tm sido usados, e mostra-se que seu
maior custo computacional plenamente compensado pela performance.
Deve-se dizer tambm que qualquer algoritmo que use o gradiente como
informao car preso no primeiro mnimo local que encontrar. Reinicia-
lizar o processo de um novo ponto (novos valores aleatrios para os pesos)
muitas vezes a nica alternativa.
O que signicam os valores processados internamente na rede? Esta uma das
questes mais importantes. Discutimos anteriormente que Redes Neurais
so sistemas subsimblicos, no sentido de que a sada de um processador
isolado no costuma poder ser associada facilmente a um smbolo ou va-
rivel importante do problema. Como j comentado, acredita-se que isto
ajude a representao de habilidades muito poderosas do comportamento
Alexandre Romariz 30
2.2. A REDE DE RETROPROPAGAO
inteligente. Por outro lado, a capacidade de extrair relaes simblicas pre-
cisas a partir do aprendizado no parece poder ser representada desta forma.
O PMC efetua uma srie de operaes numricas que podem resolver um
problema complexo, para o qual no havia uma teoria completa, mas o co-
nhecimento intrnseco nesta soluo no pode ser recuperado, j que tudo
o que temos so nmeros representando valores de sada e de interconexo.
As conseqncias desta limitao so bastante graves quando se imagina o
projeto de grandes sistemas inteligentes. A transferncia de conhecimento
de uma rede para outra ou para qualquer outro sistema praticamente im-
possvel. Ter treinado uma rede para efetuar uma certa tarefa no nos adi-
anta de quase nada para o treinamento de uma outra rede que executaria
tarefa semelhante. Conhecimento humano sobre o problema no pode ser
passado de nenhuma forma explcita, mas apenas atravs de exemplos. Se
o conexionismo pretende mostrar como o pensamento estruturado emerge
do nvel subsimblico, estruturas que efetuem a ligao entre estes nveis
ainda precisam ser buscadas.
E quando no sabemos qual o erro? Ahiptese de que sempre dispomos de exem-
plos de operao desejada relacionando explicitamente todas as entradas e
sadas bastante forte. Os casos mais importantes de aprendizado (envol-
vendo controle motor, por exemplo) desenvolvem-se sobre umambiente que
retorna muito pouca informao. O algoritmo de retropropagao de erro
est longe de modelar esta habilidade dos sistemas animais.
Sistemas Inteligentes 31
Captulo 3
Outras Redes Neurais e Algoritmos
de Treinamento
3.1 Melhoramentos ao algoritmo de gradiente
3.1.1 Introduo
O processo de aprendizado de uma rede neural no conceitualmente diferente do
que se conhece por adaptao de parmetros. Valores dos pesos das interconexes
(ou sinapses) so modicados para minimizar a diferena entre o desempenho
atual e o desejado para o sistema.
A maioria dos algoritmos de otimizao baseiam-se em um mesmo procedi-
mento iterativo: a cada passo, uma direo de mudana do vetor de parmetros e
a amplitude desta mudana so determinadas, e o vetor atualizado. Se deriva-
das da funo a ser minimizada podem ser calculadas, a direo mais simples a
escolher o sentido contrrio do vetor gradiente da funo com relao aos par-
metros. Assim, sendo wo vetor de parmetros e E(w) a funo a ser minimizada,
um passo de atualizao de parmetros pelo mtodo de gradiente simples pode ser
expresso por:
w[k + 1] = w[k] E(w[k]) (3.1)
onde determina o passo de adaptao. No caso de redes neurais, e conhecido
como taxa ou constante de aprendizado, e a funo a ser minimizada geralmente
o erro quadrtico entre sadas desejada e obtida.
Em sua forma mais simples, o algoritmo no prev nenhum procedimento
de clculo de . Este valor xo, determinado por tentativa e erro. Um valor
muito baixo implica em convergncia demorada, um valor elevado demais leva a
oscilaes que podem acabar impedindo a convergncia.
Alm de todos os problemas com a diculdade de escolha do valor de e, o fato
32
3.1. MELHORAMENTOS AO ALGORITMO DE GRADIENTE
deste valor ser xo faz com que a inuncia do mdulo do vetor gradiente sobre
a amplitude resultante de mudana contrarie o que intuitivamente se espera [4]: a
mudana de pesos ser pequena nos trechos em que a superfcie de erro plana,
e maior onde h inclinaoes abruptas. Intuitivamente, uma busca eciente pelo
mnimo de erro deveria ter comportamento contrrio, sendo "mais cuidadosa"nos
trechos movimentados da superfcie de erro, e tomando passos maiores nas regies
mais planas.
Algoritmos mais sosticados do que os de gradiente simples j so conheci-
dos h muito no campo de otimizao e matemtica aplicada, e agora vm sendo
aplicados em Redes Neurais. A seguir, descrevemos os princpios tericos dos
algoritmos de gradiente conjugado.
3.1.2 Algoritmo de descida mais ngreme (steepest descent)
A primeira idia para determinao automtica do passo no algoritmos de gradi-
ente obtida observando-se que, denida uma direo de mudana, achar a ampli-
tude tima desta mudana um problema de otimizao monodimensional (line
search), relativamente simples de ser resolvido. Esta idia leva ao algoritmo stee-
pest descent, no qual garante-se que em cada passo do processo a adaptao leva
a funo ao mnimo alcanvel na direo denida. As equaes deste algoritmo
so ento:
w[k + 1] = wE(w[k]) (3.2)
onde o valor de a soluo do seguinte problema de minimizao monodimen-
sional:
min
k
{E (w[k] E(w[k]))} (3.3)
Com estimativas do valor timo do passo, o algoritmo de gradiente costuma
convergir, como se espera, em menor nmero de iteraes. No entanto, a pesquisa
monodimensional associada aumenta o custo computacional do algoritmo. Os
testes que realizamos com steepest descent revelaram que, em geral, o emprego
da pesquisa monodimensional por si s no compensador em termos de tempo
de convergncia, ainda que o algoritmo se torne mais robusto quanto a escolha de
parmetros. Esta pesquisa usada, no entanto, como parte de alguns algoritmos
de gradiente conjugado, como veremos na seo seguinte.
3.1.3 Algoritmo de gradiente conjugado
Os polinmios de segundo grau so as funes analticas mais simples que tm
ponto de mnimo. Aaproximao de segunda ordemda funo de erro por srie de
Taylor em torno de um vetor de parmetros w fornece-nos uma funo quadrtica
Sistemas Inteligentes 33
CAPTULO 3. OUTRAS REDES NEURAIS E ALGORITMOS DE
TREINAMENTO
com propriedades interessantes para minimizao.
E(w+
w
) E
q
(
w
) (3.4)
E
q
(
w
) = E(w) + E

(w)
T

w
+
1
2

w
T
E

(w)
w
(3.5)
onde E

(w) a chamada matriz hessiana de E com relao a w.


Um ponto crtico desta aproximao satisfaz:
E

q
(
w
) = 0 (3.6)
o que nos d
E

(w)
w
+ E

(w) = 0 (3.7)
Esta a equao do chamado mtodo de Newton para o problema de minimizao
de funes.
A cada passo do algoritmo, o ponto crtico w determinado a partir da so-
luo destes sistema de equaes que envolve a hessiana. Ao invs de buscar a
soluo direta, os algoritmos de gradiente conjugado usam uma soluo iterativa
por meio de conjuntos de vetores conjugados. Para funes quadrticas, estes
algoritmos chegam ao ponto crtico em um nmero de passo no superior di-
menso do espao. De fato, vamos supor que dispomos de uma base de vetores
do espao
n
. O ponto crtico buscado pode ser ento expresso como
w =
n

i=1

i
p
i
(3.8)
onde p
i
so os vetores da base. Os valores de s podem ser obtidos analitica-
mente para funes quadrticas. Em geral, busca-se a cada passo, o valor de que
miminiza a funo na direo determinada (como no algoritmo steepest descent).
A base pode ser obtida de acordo com a regra de Polak-Ribiere:
p
1
= E

(w
0
) (3.9)
p
j+1
= r
j+1
+
j
p
j
(3.10)
r
j+1
= E

(w
j
) (3.11)
w
j+1
= w
j
+
j
p
j
(3.12)

j
=
(r
j+1
r
j
)
T
r
j+1
||r
j
||
2
(3.13)
onde w
0
o valor do conjunto de pesos antes deste passo de otimizao, e w
i
o
valor aps cada um dos n sub-passos. Ao nal do processo, estaramos em um
mnimo se E(W) realmente fosse quadrtica. Como provavelmente no o , o
algoritmo repetido por mais n subpassos.
Alexandre Romariz 34
3.2. REDES DE FUNES DE BASE RADIAIS
+
Figura 3.1: Rede de Funes de Base Radiais
Como dito acima,
i
obtido emuma pesquisa monodimensional. No entanto,
verica-se experimentalmente que a determinao de melhores direes de busca,
promovida pelo algoritmo de gradiente conjugado, compensa o custo computaci-
onal da pesquisa, o que no ocorria quando esta busca era usada no algoritmo de
gradiente simples.
A pesquisa monodimensional envolve em geral duas etapas: uma heurstica
para denir um pequeno intervalo onde um mnimo garantidamente ocorre, e uma
tcnica de subdiviso deste intervalo para pesquisa do mnimo. Uma estratgia
popular a diviso em segmentos ureos (golden search), que garante uma redu-
o eciente do intervalo a cada passo, porque um dos pontos pesquisados ser
sempre um ponto timo tambm para a seco efetuada no passo seguinte.
3.2 Redes de funes de base radiais
As redes de funes de base radiais (Radial Basis Function Networks - RBFNs)
so estruturas inspiradas no modelo biolgico de campos sobrepostos de recepo,
presentes em regies do crtex cerebral. Procura-se representar neste modelo o
carter localizado e espacialmente organizado da resposta de neurnios em certas
regies do sistema nervoso, especialmente no processamento de dados sensoriais.
Vrias propriedades interessantes de aprendizado so obtidas nestes sistemas.
A Figura 3.1 mostra um diagrama de RBFN. Os neurnios da primeira camada
computam funes com simetria radial, geralmente gaussianas, e a sada uma
soma ponderada dos valores da primeira camada (eventualmente normalizada pela
Sistemas Inteligentes 35
CAPTULO 3. OUTRAS REDES NEURAIS E ALGORITMOS DE
TREINAMENTO
soma das ativaes).
Os parmetros da rede so os centros e aberturas (varincia) das funes ra-
diais e os pesos W. Fixados os centros e as varincias, otimizar os valores dos
pesos um problema linear relativamente simples. A escolha dos centros pode
ser feito por um mtodo no-supervisionado, como veremos na rede de Kohonen
(seo 3.4).
Uma caracterstica importante das RBFNs a de que o valor de ativao da
camada gaussiana pode ser tomado como indicao de novidade. Baixos valores
em todos os neurnios da camada, por exemplo, podem indicar a presena de um
vetor de entrada x muito diferente daqueles com os quais a rede foi treinada. Este
tipo de informao no pode ser obtida em uma rede neural convencional.
As RBFNs valorizamainda o carter local do treinamento (pontos distantes da
rea de atuao de uma unidade no inuenciam o ajuste de seus parmetros). A
atualizao de pesos em redes convencionais tem carter global e costuma impedir
a identicao de estruturas locais. J o treinamento local, alm de permitir an-
lise da representao resultante, faz com que novos aspectos do problema sejam
aprendidos sem prejuzo do que j se conhece. Esta caracterstica incremental do
aprendizado no obtida no Perceptron multicamadas apresentado anteriormente.
3.3 Aprendizado por reforo
As redes neurais usadas nas aplicaes descritas anteriormente baseiam-se no cha-
mado treinamento supervisionado. Nele, conhece-se a sada desejada para cada
caso, e a diferena entre este valor desejado e o obtido guia o processo de adap-
tao. No entanto, em muitas tarefas de controle, principalmente naquelas relaci-
onadas a controle motor, o retorno obtido do ambiente pouco informativo. Em
geral, s camos sabendo, aps uma srie de aes, se houve sucesso ou fracasso
na tarefa. O ambiente no retorna para cada ao um sinal de erro.
O chamado aprendizado por reforo (Reinforcement Learning, RL) procura
tratar a questo do aprendizado no caso em que o retorno do ambiente pouco
informativo. O problema, no caso de controle, no simplesmente generalizar
exemplos apresentados da operao desejada, mas o de aprender uma lei de con-
trole por tentativa e acmulo de experincia. Esta idia est mais prximo do que
efetivamente ocorre no aprendizado motor animal.
Basicamente, a falta de retorno do ambiente procura ser contornada pela cri-
ao de um crtico, capaz de avaliar a performance do sistema de uma maneira
adequada para aprendizado. O problema ento passa a ser o de alterar a poltica
de controle para obter a aprovao do crtico. Para isto h basicamente dois m-
todos. No RL indireto um modelo diferencivel do crtico construdo, e tcnicas
de otimizao baseadas em gradiente podem ser empregadas. Em RL direto no
Alexandre Romariz 36
3.4. REDES DE KOHONEN E SISTEMAS AUTO-ORGANIZVEIS
se conhece um modelo diferencivel do crtico. A otimizao de performance
obtida pela explorao ativa do espao das aes de controle e incorporao das
aes que resultaram em melhoria. Por exemplo, o autmato estocstico comea
o aprendizado escolhendo aleatoriamente suas aes. O sinal do crtico usado
para atualizar as probabilidades associadas a cada ao. O comportamento vai
tornando-se ento menos aleatrio com a evoluo do treinamento, e termina por
convergir para uma poltica determinista de controle.
A funo do crtico, como armado acima, suprir a falta de retorno do am-
biente com relao ao desempenho da lei de controle. O crtico deve, portanto
avaliar o quanto cada ao contribui para que se caminhe na direo de um estado-
objetivo, possivelmente com restries sobre a ecincia da trajetria escolhida.
A teoria de controle timo se preocupa com critrios deste tipo, e seus algoritmos
(programao dinmica, por exemplo) so usados na construo do crtico. A di-
ferena principal entre os algoritmos de RL e de controle timo est no fato de
que neste ltimo exige-se um modelo preciso da planta, suposio que no est
presente em RL. Alm disto, RL trabalha com o aprendizado on-line da poltica
tima de controle.
Apesar de ser uma rea atraente de pesquisa em inteligncia dada sua forte
relao com aprendizado dos animais, as tcnicas de RL no se comparam s de
treinamento supervisionado em termos de tempo de aprendizado e esforo com-
putacional. So poucas as aplicaes prticas efetivamente demonstradas. Seu
uso recomendado, portanto, apenas para o caso em que a informao disponvel
para o treinamento realmente de baixa qualidade.
3.4 Redes de Kohonen e sistemas auto-organizveis
A idia do mapa auto-organizvel de Kohonen a de construir sistemas que se
organizam internamente a partir da distribuio dos dados de entrada, sem a pre-
sena de um professor. A inspirao biolgica vem do fato de que a representao
interna de informaes no crebro freqentemente organizada espacialmente.
reas do crtex parecem claramente formar mapas de espaos sensoriais, com
neurnios com resposta especca a impulsos de certas regies do espao. Como
exemplo, citamos as respostas especcas para freqncias nas reas do crebro
responsveis por viso e audio.
O objetivo principal a formao de aglomerados com mxima atividade de
resposta a um dado tipo de estmulo. Em termos de implementao biologica-
mente plausvel, isto pode ser obtido com realimentao lateral entre neurnios
prximos. Na prtica, este mecanismo estimulado da seguinte maneira:
A rede composta por uma nica camada de neurnios, espacialmente organi-
zados (em linha, ou em espaos de vrias dimenses. O importante que haja um
Sistemas Inteligentes 37
CAPTULO 3. OUTRAS REDES NEURAIS E ALGORITMOS DE
TREINAMENTO
conceito de vizinhana). Todos os neurnios recebem o mesmo vetor de entrada.
A funo de ativao dos neurnios identidade, o que signica que eles simples-
mente efetuam o produto interno entre a entrada e seus vetores de interconexo.
Imaginemos que num instante inicial, os vetores de interconexo foram aleatoria-
mente xados, todos com o mesmo mdulo. Dada uma entrada, o neurnio cujo
vetor estiver mais alinhado (por pura sorte) ter melhor resposta e ser o vence-
dor. Ao vencedor e uma certa vizinhana, ser dada a oportunidade de aprender
(adaptar seu vetor de pesos), segundo:
w[t +1] = w[t] + [t](x[t] w[t]) (3.14)
seguido de re-normalizao, para que todos os vetores tenham o mesmo mdulo.
Os neurnios fora da vizinhana no modicam o seu peso.
A expresso acima aproxima o vetor w do neurnio do vetor de entrada x.
Em uma apresentao subseqente do mesmo vetor de entrada, ser ainda mais
provvel que o mesmo neurnio apresente a melhor resposta. Neurnios podem,
assim, se especializar em regies especcas do espao de entrada.
O processo feito para todos os vetores de entrada existentes, e repetido vrias
vezes. O tamanho da vizinhana onde se permite aprendizado comea com valor
elevado (que pode comear como toda a rede) e diminui com o tempo, assim como
a taxa de aprendizado .
A Figura 3.2 mostra um exemplo simplicado de operao da rede, em um
caso bidimensional com 6 neurnios. Na primeira gura, temos os seis vetores w
e um hipottico vetor de entrada x. O neurnio 2 ser, neste caso, o vencedor, e no
segundo crculo vemos que os vetores dos neurnios 2, 1 e 3 (sua vizinhana) fo-
ram modicados para se aproximarem dos valores de entrada. Se esse processo se
repetir por muitas vezes, com apresentao de pontos uniformemente distribudos
no crculo, os vetores nais devem convergir para o que mostra a terceira gura,
com pesos uniformemente distribudos, e com um claro conceito de vizinhana
(neurnios denidos como vizinhos tm pesos sinpticos mais semelhantes).
Para que servem estes mapas obtidos autonomamente pela rede? Em primeiro
lugar, no caso de reconhecimento de padres, o mapa pode indicar claramente
a aglomerao natural em torno dos padres. Neste caso, basta dar nomes s
classes. Em outros casos, a rede usada como sistema de pr-processamento,
Por exemplo, os vetores resultantes podem ser usados para denir os centros das
funes de base da rede RBFN.
Alexandre Romariz 38
3.4. REDES DE KOHONEN E SISTEMAS AUTO-ORGANIZVEIS
1
2
3
6
4
5
1
2
3
4
5
6
1
2
3
6
4
5
x
Figura 3.2: Exemplo simplicado de operao do mapa de Kohonen. H seis
neurnios, e o espao sinptico bidimensional. No primeiro circulo, vemos a
disposio inicial dos vetores sinpticos, e a apresentao de um vetor de en-
trada x. Os neurnios vencedores (2, 1 e 3) modicam seus pesos sinpticos, que
se aproximam mais do vetor de entrada. Com a repetio de diversos padres,
espera-se que os vetores sinpticos aproximem-se do apresentado no ltimo cr-
culo.
Sistemas Inteligentes 39
Captulo 4
Sistemas nebulosos
4.1 Introduo
A lgica sempre foi estudada em Inteligncia Articial como um formalismo para
representao do conhecimento. A representao obtida , no entanto, inex-
vel demais para lidar com conceitos do mundo real sem exigir um nvel elevado
de simplicao. Na lgica clssica lidamos com um mundo de clareza, rigor e
preciso no qual conceitos reais no se encaixam com facilidade.
Ahabilidade humana para manipular conceitos imprecisos vista como a prin-
cipal diferena entre inteligncia humana e articial. Consideremos um paradoxo
conhecido desde a grcia antiga: um homem com um o de cabelo a mais do que
um homem calvo tambm calvo? Aparentemente, o bom senso no diz que sim.
No entanto, esta armao em lgica clssica nos fora a concluir que todos so
calvos. Anal, se um homem com nenhum o de cabelo calvo por denio,
e aquele com 1 o de cabelo a mais continua calvo, ento so calvos os homens
com 2 os de cabelo, 3 os de cabelo, ou qualquer nmero nito de os de cabelo.
Obviamente, o conceito de calvcie no se descreve corretamente com um nmero
mximo de os de cabelo.
A lgica nebulosa (fuzzy logic)
1
.pretende formalizar a habilidade humana
de chegar a decises razoveis baseadas em dados imprecisos e qualitativos. Com
ela procura-se tratar a impreciso e o carter vago dos processos mentais humanos.
Um artigo de Zadeh (1965), que prope uma extenso da teoria clssica de
conjuntos, costuma ser citado como ponto de partida das pesquisas sobre lgica
nebulosa, ainda que estas relacionem-se com as lgicas multivaloradas, cuja ori-
gem bem mais antiga. Na apresentao que se segue, estudaremos conceitos
de maior emprego em aplicaes prticas. No entanto, devemos ressaltar que este
1
Os termos nebuloso e difuso costumam ser usados para traduzir a palavra inglesa fuzzy.
Adotaremos aqui o termo nebuloso.
40
4.1. INTRODUO
Normas Triangulares Co-normas Triangulares
min(x, y) max(x, y)
x y x + y x y (soma algbrica)
Tabela 4.1: Algumas normas e co-normas triangulares, usadas na denio de
pertinncia para a interseco e unio de conjuntos nebulosos, respectivamente.
assunto inspira diferentes abordagens. Sempre que necessrio, citaremos os cami-
nhos alternativos, que fogem ao escopo deste curso. Os conceitos sero apresen-
tados, quando for possvel, como extenso de seus equivalentes da teoria clssica,
o que nos parece facilitar a compreenso.
Um conjunto nebuloso caracterizado por uma funo de pertinncia (ou fun-
o indicadora) que toma valores no intervalo [0,1]. Em outras palavras, um
conjunto no qual o conceito clssico de pertinncia (pertence ou no pertence)
substitudo pela idia de grau de pertinncia. Desta maneira, podemos caracteri-
zar de forma mais razovel certos conjuntos nos quais a xao de limites ntidos
de pertinncia muito articial. Como exemplo, podemos citar o conjunto das
pessoas altas em uma populao, ou o conjunto dos nmeros pequenos em um
intervalo, ou pessoas calvas.
A extenso das operaes de unio e conjuno para conjuntos nebulosos
feita usando-se as chamadas normas triangulares (interseco) e co-normas trian-
gulares (unio). Explicitamente, se Ae Bso conjuntos nebulosos emumuniverso
de discurso U, e I
A
(x) o valor da funo de pertinncia do conjunto A no ponto
x U ou seja, uma indicao de quanto o ponto x pertence ao conjunto A ,
temos
I
AB
= I
A
I
B
(4.1)
I
AB
= I
A
I
B
(4.2)
onde representa alguma norma triangular e alguma co-norma. A Tabela 4.1
mostra algumas normas e co-normas freqentemente utilizadas.
fcil notar que estas operaes concordam com a unio e a interseco cls-
sicas quando as funes de pertinncia tomam valores 0 e 1. Portanto, a unio
e interseco de conjuntos nebulosos podem ser realizadas de vrias maneiras, e
a escolha de uma delas normalmente guiada por procedimentos de tentativa e
erro ou por consideraes de custo computacional (estas evidentemente levam a
uma preferncia pelo mximo para unio e mnimo e produto para interseco).
Voltaremos a este assunto na discusso dos controladores nebulosos.
O complemento de um conjunto nebuloso usualmente denido segundo
I
A
= 1 I
A
(4.3)
Sistemas Inteligentes 41
CAPTULO 4. SISTEMAS NEBULOSOS
H muitas outras alternativas (por exemplo, todas a famlia de funes (1x)
n
,
mas no encontramos na literatura aplicaes prticas em que denies diferen-
tes fossem usadas.
4.2 Lgica nebulosa
A denio dos conceitos da chamada lgica nebulosa a partir da extenso da te-
oria clssica de conjuntos costuma ser apresentada como um simples trabalho de
associao entre conceitos da teoria de conjuntos e conceitos de lgica. Assim,
associa-se o conceito de pertinncia ao de valor-verdade de uma proposio l-
gica, o de unio, interseco e complemento de conjuntos s operaes ou, e e
no, respectivamente; a inferncia vista como uma relao entre conjuntos.
Estas associaes esto plenamente justicadas no campo da lgica clssica,
porque conhecido o isomorsmo entre lgebra de Boole e a estrutura do clculo
proposicional clssico. No campo da teoria dos conjuntos nebulosos, as inmeras
maneiras de estender as operaes clssicas trazem diculdades quanto maneira
mais adequada e rigorosa de apresentar os fundamentos da lgica nebulosa. Os
trabalhos no campo de engenharia no costumam preocupar-se com esta questo.
Considera-se que as associaes feitas so razoveis e, principalmente, levam a
bons resultados.
4.3 Regras nebulosas e possibilidade
Regras (ou armaes condicionais) so formas ecientes de formalizar conheci-
mento nos sistemas de inteligncia articial (Nilsson 1980). O emprego de ele-
mentos da teoria dos conjuntos nebulosos permite a manipulao mais exvel de
regras, com inferncias sobre condies no totalmente satisfeitas ou no clara-
mente denidas. Um exemplo de regra que pode ser tratada desta forma : "Se o
alvo est prximo, a velocidade deve ser diminuda". Este tipo de inferncia, de-
nominada raciocnio aproximado (Zadeh 1975) procura reproduzir a capacidade
humana de lidar com impreciso e incerteza, e estabelece pontos de contato entre
teoria de conjuntos nebulosos e probabilidade.
De fato, podemos dar funo de pertinncia de um conjunto nebuloso uma
interpretao que torna este relacionamento mais claro. Imaginemos que uma va-
rivel X tome valores em um universo de discurso U. Uma armao do tipo "X
F", onde F representado por um conjunto nebuloso sobre U, pode ser vista como
uma restrio nebulosa aos valores de X. Por exemplo, o fato "Joo alto"cria
restries (no rgidas) sobre os valores aceitveis para a sua altura. Diz-se en-
to que a funo de pertinncia I
F
(x) representa a distribuio de possibilidades
Alexandre Romariz 42
4.4. SADA DE UMA REGRA NEBULOSA
associada a x.
A palavra "possvel", em linguagem natural, tem basicamente dois signica-
dos: um fsico ("factvel") e um lgico ("compatvel com a informao dispon-
vel"). Na denio apresentada acima, este conceito origina-se no de freqncias
de eventos (probabilidade) mas da traduo de restries suaves sobre variveis
em termos de conjuntos nebulosos. No entanto, probabilidade e possibilidade no
so totalmente independentes. Um evento de possibilidade reduzida no pode ter
elevada probabilidade e, no caso limite, um evento impossvel tem necessaria-
mente probabilidade nula. Podemos ento requerer que graus de probabilidade
sejam um limite inferior para o grau de possibilidade (princpio da consistncia).
Eventos mutuamente excludentes podem ter simultaneamente graus elevados de
possibilidade. Assim, graus de possibilidade no so aditivos, ao contrrio dos de
probabilidade. Vale notar que a noo de que graus subjetivos de certeza no so
aditivos bastante antiga.
Estes conceitos intuitivos podem ser formalizados com a denio de medidas
e integrais nebulosas. Em uma medida nebulosa, o requerimento de aditividade
m
_
_
j
A
j
_
=

j
m
A
j
(4.4)
substitudo pela condio mais fraca de monotonicidade:
A B m(A) m(B) (4.5)
Ainda h uma enorme polmica sobre o relacionamento exato entre probabili-
dade e conjuntos nebulosos, e sobre as vantagens e desvantagens destas ferramen-
tas no tratamento da incerteza.
4.4 Sada de uma regra nebulosa
Ainda que no tenhamos acompanhado em detalhes as caractersticas internas de
um sistema nebuloso, podemos compreender que h um conjunto de regras que re-
presentam o conhecimento (impreciso) sobre as aes a tomar. Dada uma situao
especca, algumas regras so plenamente aplicveis, outras apenas parcialmente.
Ao combinarmos as diversas regras, temos uma distribuio de possibilidade para
a varivel de sada (digamos, a posio de uma vlvula). Obviamente, esta dis-
tribuio de possibilidades precisa ser transformado em um valor numrico nico
para ser apresentado ao controlador. O mtodo mais difundido para denir o valor
numrico de sada a partir de uma distribuio nebulosa o clculo do centro de
massa:
z =

n
j=1
C

(z
j
)z
j

n
j=1
C

(z
j
)
(4.6)
Sistemas Inteligentes 43
CAPTULO 4. SISTEMAS NEBULOSOS
PP
x
ZE
dx
ZE
dx
ZE
x
x=10
NP
F
dx=-10
ZE
F
F=-3
Figura 4.1: Exemplo de determinao da sada de um sistema fuzzy. A primeira
linha representa a aplicao da regra se x pequeno e positivo e dx zero, ento
F negativo e pequeno. A segunda representa a aplicao de outra regra se
x zero e dx zero, ento F deve ser zero. Ambas so aplicadas para o caso
especco x=10 e dx=-10. O conjunto nebuloso resultante para F mostrado na
ltima linha. A aplicao do mtodo do centro de massa daria o valor nal F=3
para este caso. O exemplo foi baseado em [15].
onde z
j
so os valores possveis para a sada do atuador, e C

(z
j
) (mais exatamente
I
C
(z
j
) a pertinncia do valor z
i
ao conjunto nebuloso C denido pela combi-
nao das regras aplicadas. A Figura 4.1 mostra um exemplo de determinao de
valores de sada a partir de regras nebulosas.
4.5 Diculdades e Aplicaes Prticas
comum dizer-se que, no projeto de controladores nebulosos, o conhecimento de
operadores humanos experientes pode ser aproveitado. Deve-se notar, no entanto,
que este apenas o ponto de partida. O ajuste das funes de pertinncia dos
conjuntos nebulosos envolvidos e a escolha dos operadores costuma levar a um
longo trabalho de tentativa e erro. A transferncia das estratgias de deciso de
Alexandre Romariz 44
4.6. REDES NEURAIS E LGICA NEBULOSA
especialistas e operadores humanos para estes sistemas no tarefa fcil, mesmo
com a exibilidade apresentada por regras nebulosas. Esta diculdade, aliada ao
fato de serem recentes os resultados tericos quanto estabilidade e robustez des-
tes controladores, faz com que alguns especialistas tenham restries aos sistemas
nebulosos de controle, apesar dos bons resultados obtidos.
Encontram-se na literatura numerosas aplicaes de controle nebuloso. Desta-
camos: controle de aquecedores, de sinais de trnsito, de trfego areo, robtica,
controle automtico de velocidade e da transmisso em automveis, controle de
reatores nucleares. A empresa Hitachi Ltd. desenvolveu um sistema de operao
automtica de trens baseado em lgica nebulosa, que vem sendo usado no metr
de Sendai (Japo) desde 1987.
Uma aplicao interessante encontrada na literatura o controle de direo de
veculo proposto por Sugeno & Nishida (1985). O problema denir a direo a
ser seguida por um carro mantido a velocidade constante em um percurso sinuoso,
dadas a direo atual e as distncias para os limites da pista. So empregadas re-
gras nebulosas com conseqentes lineares, como visto anteriormente. A partio
do espao de entrada (nmero de conjuntos nebulosos) foi arbitrariamente xada.
Ento, a partir de exemplos do percurso do carro quando guiado por operadores
humanos, foram identicados os parmetros dos conseqentes de 20 regras. Os
autores apresentam bons resultados, no apenas em simulaes, mas no controle
efetivo de um pequeno modelo a baixa velocidade.
A pesquisa em sistemas nebulosos ainda encontra algumas restries em cer-
tos meios. So vrias as razes para este fato. Em primeiro lugar, a teoria dos
conjuntos um campo extremamente frtil para polmica em matemtica, e de
uma extenso desta teoria que partimos ao denir conjuntos nebulosos.
Em segundo lugar, ainda no est bem resolvida a relao entre conjuntos
nebulosos e teoria da probabilidade. H uma enorme resistncia por parte de
estatsticos em aceitar esta nova teoria como algo til e no coberto pelo clculo
de probabilidades.
As aplicaes em controle, o ponto mais "vendido"de lgica nebulosa tambm
recebem crticas de membros da teoria de controle. Em parte, por haver uma
nuvem de marketing em torno do tema, em parte porque as pesquisas em controle
nebuloso raramente envolvem especialistas em controle.
De qualquer forma, os resultados da teoria de conjuntos nebulosos so nume-
rosos e signicativos, e no h motivo para o preconceito que a rea desperta.
4.6 Redes Neurais e Lgica Nebulosa
Procuramos, na teoria dos conjuntos nebulosos, um formalismo adequado para
uma descrio aproximada das operaes internas de uma rede neural. interes-
Sistemas Inteligentes 45
CAPTULO 4. SISTEMAS NEBULOSOS
sante observar neste ponto as semelhanas e diferenas existentes entre esta teoria
e a de redes, e discutir que vantagens podemos esperar da combinao das duas.
Tanto redes neurais quanto lgica nebulosa se propem a desenvolver computa-
cionalmente habilidades tpicas do raciocnio humano, diminuir a diferena entre
inteligncia humana e articial, entender "o que torna as pessoas mais espertas
do que as mquinas". As abordagens so, no entanto, bem diferentes. A teoria
dos conjuntos nebulosos tornar formalismos tradicionais (conjuntos, relaes, re-
gras, etc.) tolerantes impreciso e adequados ao processamento de informaes
vagas. J as redes neurais surgem fundamentalmente de consideraes quanto
arquitetura do processamento e quanto ao nvel de anlise dos processos cogniti-
vos. As abordagens diferentes no nos impedem de identicar vrios pontos de
contato entre as teorias.
Fundamentalmente, em ambas est presente a idia de substituir smbolos dis-
cretos por quantidades contnuas. Ambas enfatizam o processamento numrico
de informaes. Os trabalhos que procuram analisar a estrutura das operaes
internas das redes neurais indicam em vrios momentos pontos de contato com
lgica nebulosa. O processamento em certos modelos de redes neurais pode ser
visto como uma busca por um estado no qual a obedincia s restries repre-
sentadas pelas conexes a maior possvel. Existe, portanto, algo semelhante ao
disparo simultneo de muitas regras possivelmente conituosas e com condies
parcialmente satisfeitas.
At mesmo a sutil relao com probabilidade e estatstica um ponto comum
a redes neurais e lgica nebulosa. Vimos que a denio de conjuntos nebulosos
pode ser interpretada como uma distribuio de possibilidade, um conceito subje-
tivo de factibilidade ou compatibilidade com a informao disponvel. Por outro
lado, Smolensky arma que um sistema sub-simblico realiza um conjunto de in-
ferncias que, como um todo, produzem a sada que melhor se ajusta s condies
de entrada "num sentido denido pelo conhecimento estatstico armazenado em
suas conexes".
Surge ento a expectativa de que os conceitos de lgica nebulosa constituam
uma ferramenta para a anlise interna de redes neurais. Alm disso, as redes neu-
rais podem contribuir muito na construo de sistemas nebulosos, principalmente
no ajuste automtico de parmetros. Tcnicas de aprendizado podem substituir o
difcil processo de ajuste por tentativa.
Alexandre Romariz 46
Captulo 5
Algoritmos Genticos
5.1 Introduo
No Captulo 1, vimos que o processamento de informao realizado em sistemas
biolgicos serve de inspirao para uma nova arquitetura computacional, deno-
minada sistemas conexionistas ou redes neurais articiais. O processo biolgico
de evoluo tambm serve de inspirao para uma classe relativamente nova de
algoritmos computacionais, denominados Algoritmos Genticos (GAs). Faremos
uma exposio dos fundamentos desta tcnica, acompanhando aquela feita por
Mitchell 1998 [16].
A identicao do mecanismos de seleo natural, e o seu uso para explicao
da variedade e complexidade da vida sobre a Terra um dos maiores feitos do pen-
samento cientco. Os elementos para que ocorra evoluo envolvem uma seleo
de indivduos que chegam fase reprodutiva, hereditariedade de caractersticas
entre animais e suas proles, e pequenas alteraes aleatrias dessas caractersti-
cas. A repetio deste processo seletivo por muitas geraes faz surgirem ajustes
especcos e complexos nos seres vivos, mesmo que o processo de variao seja
aleatrio em sua origem.
Tambm na engenharia, a determinao de uma melhor soluo para o pro-
blema dicultada pela aparente inexistncia de modelos para guiar numerica-
mente a avaliao de propostas. No caso de Redes Neurais, vimos como em mui-
tas situaes sabemos apenas se o resultado nal bom ou ruim, mas no qual
varivel interna do sistema produziu um erro, ou de quanto foi esse erro. Assim,
GAs so solues atraentes quando o problema envolve uma variedade exponen-
cial de possveis alternativas e nosso conhecimento sobre o assunto incompleto
para denir um mtodo quantitativo de anlise. Um processo articial de sele-
o dentre uma populao inicial de possveis solues, alteradas ligeiramente de
uma gerao para a outra, pode produzir uma soluo prxima tima, mesmo
47
CAPTULO 5. ALGORITMOS GENTICOS
que este processo de seleo se baseie apenas no resultado nal.
A primeira meno do uso de tal inspirao biolgica pode ser encontrada no
termo estratgias evolutivas (Evolutionsstrategie) por Rechenberg nos anos 60
e 70. Tratava-se de um mtodo de otimizao parmetros reais. No campo de
programao, Fogel, Owens e Walsh trabalharam na denio de programao
gentica, onde cada proposta de soluo era representada por uma mquina de
estados, e mutaes ocorriam em parte da tabela de transio de estados de uma
gerao para outra. O termo Algoritmo Gentico propriamente dito foi usado por
Holland nos anos 60. Sua pesquisa visava inicialmente estudar em termos compu-
tacionais a adaptao biolgica, mas seus estudos formalizaram a rea, aplicando
uma denio mais abrangente da estratgia evolutiva aplicada computao.
5.2 Elementos Principais e Exemplo
Os elementos principais, presentes em praticamente todas as aplicaes de GAs,
so: representao de solues na forma de cromossomos e a aplicao de opera-
dores a estas solues. Os principais operadores so seleo, mutao, crossover.
Vamos denir estes conceitos em maior detalhe, com exemplos.
Cromossomos Um GA trabalha com populaes de possveis solues a um pro-
blema dado. Uma soluo difere de outra por uma srie de parmetros.
A codicao deste parmetro feita na forma de um string denominado
cromossomo. Por exemplo: na denio de novos materiais ou novos fr-
macos, encontrar uma protena que tenha um dado formato tridimensional
de interesse um problema muito difcil. Ele depende de quais aminocidos
compem a protena. Supondo que estejamos interessados em uma protena
composta por 50 aminocidos, podemos imaginar que cada possvel soluo
deste problema est codicada na forma de uma lista de 50 letras, cada qual
representando um aminocido de um conjunto de possveis aminocidos.
Seleo As solues existentes em um dado passo do algoritmo servem de base
para solues do passo seguinte. No entanto, nem todas as solues partici-
paro deste processo (ou seja, nem todas podero se reproduzir). A escolha
de quais cromossomos geram solues boas o bastante para sobreviver e
participar da prxima etapa o resultado do operador de seleo. Tipica-
mente, a adequao de cada soluo deve ser testada quantitativamente, e
apenas as solues de melhor adequao (tness) participam do processo
de reproduo. No caso em questo, poderamos calcular o valor de energia
potencial para cada uma das solues propostas na congurao 3D dese-
jada. A de menor energia potencial tem mais chances de se manifestar neste
formato na prtica, e tem assim melhor ndice de adequao.
Alexandre Romariz 48
5.2. ELEMENTOS PRINCIPAIS E EXEMPLO
1 0 0 1 1 0 1 0 1 0 1 0 1 1
1 0 0 1 0 1 1 0 1 0 1 1 0 1
Figura 5.1: Exemplo de crossover no stio 3. Os cromossomos que representam
as solues (linha superior) so quebrados em dois pedaos, e as novas solues
geradas misturam trechos dos cromossomos antes e depois das quebras (linha in-
ferior).
Crossover Existe, no algoritmo, uma chance de que os cromossomos-pais sejam
intercambiados em um certo ponto para gerar os cromossomos-lhos. Por
exemplo, se os cromossomos 1001101 e 0101011 forem selecionados como
pais para uma nova gerao, e ocorrer crossover na terceira posio, sero
geradas solues-lhas 1001011 e 0101101 (ver Figura 5.1).
Mutao Existe tambm uma probabilidade (geralmente pequena) de que cada
bit do cromossomo seja invertido (de 0 para 1 e vice-versa) na denio de
novas solues.
Dados esses elementos, podemos denir os rudimentos de um algoritmo ge-
ntico da seguinte forma, ainda que haja diversas variaes e outros detalhes que
no mencionamos:
1. De incio, tem-se uma populao gerada aleatoriamente de n cromossomos
de l bits. Cada cromossomo representa uma possvel soluo para o pro-
blema em questo.
2. Calcula-se a adequao (tness) de cada cromossomo da populao.
3. Repetem-se os passos a seguir at que n solues-lhas tenham sido gera-
das:
(a) Selecionar um par de cromossomos da populao. A probabilidade de
seleo deve ser uma funo crescente da adequao da soluo. A se-
leo feita com recolocao, isto , um cromossomo selecionado
Sistemas Inteligentes 49
CAPTULO 5. ALGORITMOS GENTICOS
pode ser selecionado mais de uma vez. Um mtodo comum de sele-
o o mtodo da amostragem por roleta (roulette-wheel sampling),
em que a cada cromossomo atribuda uma fatia, proporcional sua
adequao, de uma roleta imaginria.
(b) Com probabilidade p
c
, realizar crossover em um stio aleatoriamente
escolhido para formar dois lhos. Se no h crossover, os dois lhos
so cpias idnticas dos pais.
(c) Com probabilidade p
m
, realizar mutaes em cada stio de cada lho.
4. Substitua a populao atual pela nova populao gerada.
5. Retorne ao passo 3.
Cada repetio deste processo chamada uma gerao. Ao nal de vrias
geraes (tipicamente centenas), espera-se que haja solues de alta adequao
na populao nal.
Como exemplo simples, vejamos a tarefa de descobrir um cdigo de 8 dgitos.
A nica informao dada o nmero de dgitos corretos. Usamos neste caso l =
14, p
c
= 0.7 e p
m
= 0.001. A Tabela 5.1 mostra a melhor soluo em diferentes
geraes para uma rodada especca do algoritmo. A soluo foi encontrada aps
3993 geraes, o que signica que apenas 3993 14 = 55902 solues foram
tentadas, de um total de 10 milhes possveis!. Os valores de p
m
e p
c
so valores
tpicos encontrados na literatura. O valor da populao foi obtido por tentativa
e erro. Na verdade, com l = 50, a resposta era encontrada to rapidamente que
diminumos esse valor para acompanharmos melhor a evoluo das solues.
Como o GA consegue um resultado to melhor do que tentativa e erro? A de-
monstrao rigorosa do funcionamento do algoritmo , obviamente, difcil, ainda
que avanos recentes tenham ocorrido. O mais importante notar que, ao avaliar
uma soluo, o algoritmo na verdade avalia muitas solues semelhantes (aquelas
que podem ser obtidas a partir de pequenas modicaes da soluo avaliada).
Assim, o enorme espao de busca pesquisado em paralelo.
5.3 Aplicaes tpicas
5.3.1 Evoluindo tabelas de transio em autmatos celulares
A capacidade, existente em GAs, de encontrar strings com uma dada proprie-
dade com uma busca eciente, torna-os adequados a todo tipo de problema cujas
solues podem ser bem representadas por seqncias nitas de smbolos. Encon-
traremos um exemplo na denio de regras de transio em autmatos celulares.
Alexandre Romariz 50
5.3. APLICAES TPICAS
Gerao Melhor Acerto
1 78706430 1
101 88545768 2
301 86645728 3
501 86625528 4
601 86125528 5
1301 85125228 6
3701 84125220 7
3992 87125220 8
Tabela 5.1: Exemplo de resultado de GA simples. O objetivo era produzir a
seqncia 87125220, sabendo-se apenas o nmero de dgitos corretos em cada
seqncia testada. Esto mostradas as melhores seqncias de cada gerao, e o
nmero de dgitos corretos. Havia 14 seqncias em cada gerao, com probabi-
lidade de 30% de crossover e 1% de mutao.
Autmatos celulares so arquiteturas de computao com nfase em interao
local. So mquinas simples, cuja sada uma funo apenas dos estados de
mquinas vizinhas. Isto nos lembra a rede de Hopeld estudada no captulo 2.
Mas a idia aqui mais geral: a mudana de estado no envolve necessariamente
uma operao matemtica, mas pode ser descrita por exemplo por uma funo
lgica.
Por exemplo, imaginemos uma coleo de autmatos celulares binrios no
sentido de suas sadas estarem limitadas a 0 ou 1 arranjados em uma linha. A
cada passo, o autmato decide um novo estado (0 ou 1), baseado apenas no estado
dos seus vizinhos. A regra de transio pode ser pensada como uma tabela que
indica, para cada congurao dos vizinhos imediatos e a do prprio autmato,
qual ser o prximo estado.
O interesse nas pesquisas em ACs est no fato de, em alguns casos, estas estru-
turas poderem realizar computaes globais, isto , responderem especicamente
a uma condio global de todos os autmatos, embora suas decises sejam base-
adas apenas em interaes locais. H um enorme interesse em computaes deste
tipo por vrias razes, mas citaremos apenas uma: j est claro que a intercone-
xo entre elementos processadores ser um obstculo grave ao desenvolvimento
de computadores ainda mais potentes. Se os mecanismos que fazem estes aut-
matos processarem coletivamente a partir de interaes locais forem conhecidos,
o problema de interconexo pode ser amenizado.
No caso especco do exemplo citado em Mitchell 1998 [16], o objetivo era
descobrir tabelas de transio em uma vizinhana que contm 7 autmatos, que
Sistemas Inteligentes 51
CAPTULO 5. ALGORITMOS GENTICOS
permitissem resolver o seguinte problema: determinar se a populao inicial de
autmatos tinha uma maioria de clulas no estado 1 ou no estado 0. Assim, se
comeamos em um estado com maioria de 1s, queremos que em algum momento
no futuro todos os autmatos mudem para o estado 1. No caso de uma maioria de
0, queremos que em algum momento futuro todos os autmatos estejam em um
estado zero.
Algumas das solues descobertas por um GA tm propriedades interessantes.
Por exemplo, as regras que foram evoludas fazem com que blocos com nmero
quase igual de 1s e 0s (para os quais difcil tomar uma deciso) originem pa-
dres de atividade que se propagam por toda a rede, contribuindo assim para uma
deciso conjunta.
5.3.2 Predio de valores
Pode parecer que GAs no so adequados para identicar o valor de funes con-
tnuas, mas esse no necessariamente o caso. Meyer e Packard (1992) [17]
atacaram o problema de prever sries de dinmica complexa (inclusive catica)
procurando evoluir regras do tipo se y vale entre y
1
e y
2
no ponto x = x
0
, ento
y vale y
1
no ponto x
1
. Em outras palavras, as regras denem um conjunto de
condies que, se vericadas, permitiriam denir a funo em um ponto futuro, o
que de fato foi conseguido.
5.3.3 Evoluindo Redes Neurais
GAs podem ser empregados em diversos pontos do projeto de uma rede neural: na
denio da arquitetura (nmero de neurnios por camada, nmero de camadas,
etc.), na denio dos pesos de uma rede de arquitetura xa e na denio da regra
de aprendizado.
A denio dos pesos por GAs buscada para evitar os problemas do trei-
namento supervisionado (tais como mnimos locais) ou a impossibilidade de usar
treinamento supervisionado pela ausncia de bons modelos diferenciveis de erro.
Neste caso, o cromossomo consiste no conjunto de vetores da rede. Resultados
mostram que, em alguns casos, GAs podem funcionar melhor do que o algoritmo
tradicional de retropropagao de erro, mas acredita-se que esta aplicao s se
justique em geral nos casos de treinamento no-supervisionado, ou em casos
nos quais a resposta do ambiente atrasada ou de difcil quanticao, como nos
casos de navegao e controle motor.
No caso da arquitetura de redes, h duas alternativas: codicao direta e
codicao gramatical. Na primeira, naturalmente, a arquitetura est diretamente
denida nos cromossomos. Na segunda, o que est denido uma gramtica, ou
seja, uma regra de gerao que permite a criao de arquiteturas de rede.
Alexandre Romariz 52
5.4. QUESTES DE IMPLEMENTAO
No caso da codicao direta, uma possibilidade que o cromossomo dena,
em uma rede com nmero xo de neurnios por camada, quais neurnios de uma
camada devem ou no ser ligados aos neurnios da camada seguinte. A adequao
da soluo envolve treinamento supervisionado por um nmero xo de pocas
1
.
No caso de codicao gramatical, evita-se a codicao direta de toda a rede,
que pode fazer o tamanho do cromossomo se tornar impraticvel para redes muito
grandes. No caso, usa-se uma gramtica como mtodo de denir a gerao de
um conjunto de estruturas (frases em uma linguagem, programas de computador,
arquitetura de redes neurais, etc.). Por exemplo: a gramtica denida por
S aSb,
S .
onde S um string inicial qualquer e o string nulo gera todos os strings cons-
titudos por um nmero igual de as direita e bs esquerda.
De forma semelhante, uma regra de gerao de grafos determina a substituio
de smbolos por matrizes de interconexo. Um GA pode evoluir regras para tais
substituies, e a arquitetura da rede ca determinada por um nmero menor de
parmetros.
No caso de regras de aprendizado, foi mostrado que a regra delta (para a rede
perceptron) podia ser redescoberta por um GA. No se espera que GAs evoluam
regras melhores do que a de retropropagao, mas talvez seja possvel aplic-lo
na determinao de bons algoritmos de treinamento no-supervisionado.
5.4 Questes de implementao
5.4.1 Quando usar
Algumas condies devem ser testadas no problema estudado antes de saber se
devemos tentar aplicar um algoritmo gentico.
Espao de solues Deve ser amplo, ou ento uma busca exaustiva por todas as
solues deve ser tentada.
Funo de erro Deve ser difcil de quanticar, ou deve denir uma superfcie
rugosa (com mltiplos pontos extremos). Se no for o caso, algoritmos de
gradiente provavelmente sero melhores.
1
Chama-se uma poca uma passagem por todos os exemplos do arquivo de treinamento super-
visionado.
Sistemas Inteligentes 53
CAPTULO 5. ALGORITMOS GENTICOS
Conhecimento de rea Se existe bom conhecimento analtico sobre o problema,
mtodos especcos de otimizao podem ter melhor performance do que o
GA, que no aproveita nenhum tipo de conhecimento parcial sobre o pro-
blema, apenas a adequao absoluta das solues tentadas.
5.4.2 Codicao
A codicao em strings binrios a mais comum, ainda que haja exemplos de
codicao em alfabetos nitos, ou com valores reais. A vantagem de cada uma
parece depender do problema. Estruturas em rvore podem gerar problemas com
o crescimento sem controle dos objetos sob anlise.
Uma questo sria na escolha de uma codicao conhecida como o pro-
blema da ligao (linkage problem): interessante que caractersticas funcio-
nalmente relacionadas estejam representadas em locais prximos do cromossomo,
para diminuir a chance de que o crossover desvirtue por completo a soluo. No
entanto, se estamos aplicando um GA, sabemos pouco sobre os parmetros funci-
onalmente relacionados das solues para determinar a ordem das representaes!
Para atacar esta questo, alguns autores incluem um endereo na represen-
tao de cada stio do cromossomo. Assim, a ordem dos cromossomos no afeta,
porque o signicado reordenado no momento da avaliao. Neste caso, um
operador inverso troca da ordem de cromossomos - mantm a mesma ade-
quao mas permite variar o efeito do operador crossover. Uma outra idia
a de incluir no cromossomo a posio em que crossovers podem ocorrer com
maior probabilidade, e deixar tambm a escolha destes locais especiais evoluir.
5.4.3 Seleo
Alm do uso de uma probabilidade de reproduo proporcional adequao do
cromossomo, so empregadas outras estratgias de seleo. O principal perigo da
regra simples a de que solues melhores nas primeiras geraes rapidamente
dominema populao, impedindo o algoritmo de avaliar solues diferentes. Uma
forma de diminuir esta possibilidade levar em conta no apenas a adequao da
soluo, mas tambm a mdia e desvio-padro de toda a populao. Como de
incio o desvio-padro deve ser elevado na populao, uma vantagem inicial em
termos absolutos no deve permitir que uma soluo domine toda a populao de
imediato.
Outra soluo, usar seleo por ranking. Nela, os melhores indivduos tm
chances uniformes de se reproduzir, ao invs de ter uma probabilidade de repro-
duo proporcional adequao. Finalmente, o algoritmo de seleo Boltzman
lembra o resfriamento simulado utilizado em redes de Hopeld: de incio, a pres-
Alexandre Romariz 54
5.4. QUESTES DE IMPLEMENTAO
so evolutiva no forte, permitindo a reproduo de solues inferiores. Com o
passar do tempo, a exigncia para participao em reproduo aumenta.
Deve-se notar tambm que, no algoritmo simples, a nova populao substitui
toda a antiga. Uma srie de estratgias denominadas elitistas no substituem, de
um passo para o outro, os melhores indivduos da populao.
Sistemas Inteligentes 55
Bibliograa
[1] J. McClelland, D. Rumelhart, and G. Hinton, The appeal of parallel distri-
buted processing, in Parallel Distributed Processing: Explorations in the
Microstructure of Cognition (D. Rumelhart, J. McClelland, and P. R. Group,
eds.), vol. 1, (Cambridge, USA), MIT Press, 1986.
[2] P. Smolensky, On the proper treatment of connectionism, Behavioral and
Brain Sciences, vol. 11, pp. 174, 1988.
[3] J. Fodor and Z. Pylyshyn, Connectionism and cognitive architecture: a cri-
tical analysis, Cognition, 1988.
[4] F. Hoppensteadt and E. Izhikevich, Weakly Connected Neural Networks.
New York, USA: Springer, 1997.
[5] P. Dayan and L. Abbott, Theoretical Neuroscience. Cambridge, USA: MIT
Press, 2001.
[6] E. Kandal, J. Schwartz, and T. Jessel, eds., Essentials of Neural Science and
Behavior. Stamford, USA: Appleton & Lange, 1995.
[7] D. Hebb, The organization of behavior. New York, USA: Wiley, 1949.
[8] M.Recce, Encoding information in neuronal activity, in Pulsed Neural
Networks (W. Maass and C. Bishop, eds.), (Cambridge, USA), pp. 111126,
The MIT Press, 1999.
[9] J. Hopeld and C. Brody, What is a moment? Transient synchrony as a col-
lective mechanism for spatiotemporal integration, Proceedings of the Nati-
onal Academy of Sciences USA, vol. 98, pp. 12821287, January 2001.
[10] W. McCulloch and W.Pitts, A logical calculus of the ideas immanent in
nervous activity, Bulletin of Mathematical Biophysics, vol. 5, no. 115133,
1943.
56
BIBLIOGRAFIA
[11] F. Rosenblatt, Two theorems of statistical separability in the perceptron,
in Mechanisation of thought processes, vol. 1, (London,UK), pp. 421456,
HM Stationery Ofce, 1959.
[12] D. Rumelhart, G. Hinton, and R. Williams, Learning internal representati-
ons by error propagation, in Parallel Distributed Processing: Explorations
in the Microstructure of Cognition (D. Rumelhart, J. McClelland, and P. R.
Group, eds.), vol. 1, (Cambridge, USA), MIT Press, 1986.
[13] T. Kohonen, Self-Organizing Maps. Berlin, Germany: Springer Verlag,
1995.
[14] J. Hopeld, Neural networks and physical systems with emergent collective
computational abilities, Proceedings of the National Academy of Science
USA, vol. 79, pp. 25542558, 1982.
[15] B. Kosko, Neural Networks and Fuzzy Systems: A Dynamical Approach to
Machine Intelligence. Prentice-Hall, 1991.
[16] M. Mitchell, An introduction to genetic algorithms. Cambridge, USA: MIT
Press, 1988.
[17] T. Meyer and N. Packard, Local forecasting of high-dimensional chaotic
dynamics, in Nonlinear modeling and forecasting (M. Casdagli and S. Eu-
bank, eds.), Addison-Wesley, 1992.
Sistemas Inteligentes 57

Você também pode gostar