You are on page 1of 22

23/03/13

Inteligncia Artificial

4. Redes Neurais Artificiais


4.1. Histrico
O trabalho pioneiro sobre Redes Neurais Artificiais foi realizado no ano de 1943, por McCullock e Pitts. Neste, eles desenvolveram um estudo
sobre o comportamento do neurnio biolgico, com o objetivo de criar um modelo matemtico para este. As concluses desta pesquisa foram de
extrema importncia para a futura implementao computacional do neurnio formal:

atividade do neurnio tudo ou nada ;

atividade de qualquer sinapse inibitria previne a excitao do neurnio naquele instante.

A primeira afirmao significa que o neurnio estar no estado ativado se a sua sada ultrapassar um valor limite, caso contrrio, ficar no estado
de repouso (este princpio originou a funo limiar). Entende-se por estado ativado transmitir a sada (transmisso) a outros neurnios da rede.
Close
Ad
J a segunda afirmao teve importncia na construo do neurnio formal a partir do conceito de pesos, ou seja, cada entrada do neurnio
ter
um valor associado; caso este seja positivo, tender a excitar a clula; e caso ele seja negativo, tender a inibir.

Em 1949, Donald O. Hebb no livro The Organization of Behavior definiu o conceito de atualizao de pesos sinpticos. Hebb deixou com
seu estudo quatro pontos importantes:

numa rede neural a informao armazenada nos pesos;

o coeficiente de aprendizagem proporcional ao produto dos valores de ativao do neurnio;

os pesos so simtricos (o peso da conexo de A para B igual ao da de B para A);

quando ocorre o aprendizado os pesos so alterados.

Porm, apesar de todos os estudos feitos at ento, o primeiro modelo de rede neural implementado foi o perceptron , por Frank Rosenblatt
em 1958.
O perceptron uma rede neural simples: constitui-se de uma camada de entrada e uma camada de sada. A cada entrada existe um peso
relacionado, sendo que o valor de sada ser a soma dos produtos de cada entrada pelo seu respectivo peso. Como definido por McCullock e Pitts, o
neurnio possui um comportamento tudo ou nada , logo, necessrio estabelecer uma funo limiar que defina quando o neurnio estar ativo ou em
repouso.
O trabalho de Rosenblatt tambm estabeleceu a base para os algoritmos de treinamento de modelos no supervisionados como o de Kohonen e
para modelos supervisionados como o backpropagation. Um modelo dito supervisionado quando treina-se um modelo para uma sada prdeterminada, que define um dado padro de entrada.
Apesar do impacto que teve o perceptron na comunidade de Inteligncia Artificial, este modelo foi fortemente criticado no livro de Minsky e
Papert, Perceptrons . No livro os autores citam o exemplo de que o Percetron com uma simples camada no poderia simular o comportamento de
uma simples funo XOR (ou-exclusivo) [WAS 89]. Aps a publicao desta obra, iniciou o perodo chamado de anos negros das redes neurais,
pelo fato desta ter desencorajado novas pesquisas e desestimulado o estudo mais profundo deste campo. A seguir segue uma breve explicao do
problema do XOR.
O perceptron capaz de aprender tudo aquilo que ele consegue representar [WAS 89]; a partir disso surge a questo: o que ele consegue
representar? O perceptron com somente duas camadas consegue representar toda funo linearmente separvel.
Suponhamos um plano xoy onde x e y so as entradas da rede e o ponto cartesiano (x,y) o valor da respectiva sada:

Figura 1. Funo XOR : uma representao grfica.


Como possvel perceber na figura 1, no podemos traar uma nica reta (funo linear) tal que divida o plano de maneira que as sadas com
valor 0 ficam situadas de um lado da reta e as com valor 1 do outro. Entretanto, este problema pode ser solucionado com a criao de uma camada
intermediria na rede e graficamente com uma estrutura em trs (ou mais) dimenses.
members.tripod.com/~the_dark_ages/rna.htm

1/22

23/03/13

Inteligncia Artificial

Em 1972, Teuvo Kohonen da Universidade de Helsinky definiu um novo modelo de rede neural, conhecido como mapa auto-organizvel de
caractersticas . Ao contrrio do perceptron, ele no era limitado a valores binrios, mas os valores das entradas, dos pesos e das sadas poderiam
ser contnuos. Alm disso, ao invs da sada da rede ser representada pela atuao de um simples neurnio vencedor (ativado), Kohonen estabeleceu
um grande nmero de neurnios para representar o padro de entrada, sendo que este nmero alcanado pela influncia do neurnio vencedor aos
seus vizinhos. Em outras palavras, no h apenas um neurnio responsvel pela representao do padro de entrada, mas sim um conjunto de
neurnios que interagem entre si.
Todavia, a grande importncia do trabalho de Kohonen foi ter introduzido um novo paradigma no estudo das Redes Neurais: o aprendizado
no-supervisionado, segundo o qual a rede no precisa ficar sendo comparada constantemente a um valor de sada durante a fase de aprendizado. At
o incio da dcada de 80, os modelos de redes neurais implementados poderiam ser classificados em dois tipos: feedback, onde a rede, partindo de
um estado inicial, chega ao estado final de aprendizado atravs de iteraes, na qual as sadas so canalizadas para as entradas e feedforward , a qual
transforma um conjunto de sinais de entrada em sinais de sada. O modelo de Kohonen veio a ser um novo paradigma, alternativo, para as redes
neurais.
Em 1982 houve uma nova evoluo nos trabalhos das redes neurais iniciado pela criao do modelo de Hopfiled , desenvolvido pelo fsico
John Hopfield. Este modelo se caracteriza por ser do tipo feedback , isto , h uma conexo das entradas com as sadas. Por este motivo, estas redes
dificilmente chegam a um estado instvel, ou seja, chegar um momento em que a sada, aps oscilar entre alguns valores binrios, ser sempre a
mesma para um mesmo padro de entrada. Hopfield, para demonstrar este fato, utilizou o exemplo de uma funo matemtica que decresce a cada
vez que a rede troca de estado, conseqentemente, chegar um momento em que esta funo alcanar um valor mnimo e no ser mais alterada.
Este o momento em que a rede alcanou a estabilidade.
A rede de Hopfield pode ser comparada a um modelo fsico, onde a cada troca de estado da rede a energia da mesma diminui, portanto, a fase
de aprendizado chegar ao fim no momento em que a rede tiver a sua energia minimizada.
O perceptron teve sua validade provada no modelo backpropagation , que possibilitou a implementao da terceira camada necessria para o
aprendizado do XOR. Utilizando uma rede de neurnios como os utilizados no perceptron, o backpropagation realiza uma retro-propagao do erro
da sada para as camadas anteriores. O erro o resultado da comparao entre a sada desejada (pr-definida) e a sada real da rede. Com esta
retro-propagao, juntamente com uma funo limiar de valores fracionrios (fugindo ao tudo ou nada ), possibilita-se a representao de funes
no-lineares, permitindo o treinamento da funo XOR. Por este fato, o backpropagation tornou-se uma das redes mais utilizadas, dado seu amplo
espectro de representaes possveis.
Vrios outros modelos foram criados desde ento, embora estes citados anteriormente foram os mais destacados por terem sido os precursores
e por terem definidos os paradigmas de modelos de redes neurais existentes hoje.
4.2. Algoritmos Genticos
4.2.1. Fundamentos
Introduo
No final da dcada de 50, alguns pesquisadores buscaram na natureza inspirao para novas tcnicas de busca de solues. O motivo para a
ateno ter se voltado para a natureza deve-se ao fato desta conseguir resolver, de forma satisfatria, problemas altamente complexos, como o caso
da sobrevivncia das espcies. Aliado a este fato, possvel explicar a grande maioria dos seres vivos atravs de poucos processos de natureza
estatstica (cruzamento, mutao e seleo), agindo sobre uma populao de uma espcie.
A tentativa de imitao do crebro humano na expectativa de um comportamento emergente deu origem as Redes Neurais Artificiais (RNA). J
a tentativa de imitar a evoluo dos seres vivos na natureza originou a Computao Evolucionria (CE). Computao Evolucionria o nome genrico,
dado a mtodos computacionais, inspirados na teoria da evoluo. Os algoritmos usados, em computao evolucionria, so conhecidos como
Algoritmos Evolucionrios (AE). Atualmente, os AE mais conhecidos so: Algoritmos Genticos (AG), Programao Evolucionria (PE) e Estratgias
Evolucionrias (EE). Todos compartilham de uma base conceitual comum, que consiste na simulao da evoluo de estruturas individuais, via
processos de seleo e os operadores de busca, referidos como Operadores Genticos (OG), tais como, mutao e crossover (cruzamento ou
recombinao). O processo depende do fitness (aptido), atingido pelas estruturas individuais, frente a um ambiente. A seleo focalizada nos
indivduos com um alto grau de aptido, explorando ento, a informao da aptido disponvel. O crossover e a mutao perturbam estes indivduos,
fornecendo heurstica geral para a explorao.
O AG foi proposto inicialmente por John H. Holland em 1975 no trabalho intitulado Adaptation in Natural and Artificial Systems. Holland
inspirou-se no mecanismo de evoluo das espcies, tendo como base os trabalhos de Darwin sobre a origem das espcies e na gentica natural,
devido principalmente a Mendel. De acordo com a teoria Darwiniana de evoluo das espcies, uma populao sujeita a um ambiente qualquer,
sofrer influncias desse, de tal forma que os mais aptos tero maior probabilidade de sobreviver a tal ambiente. J os trabalhos de Mendel mostram
como o material gentico dos pais pode ser passado para os descendentes. Desta forma, a cada gerao haver uma populao mais adaptada ao
ambiente em questo.
Base Biolgica
Charles Darwin e Alfred Russel Wallace foram os precursores, atravs de suas evidncias para a teoria de evoluo, em 1858, na revoluo
tanto do pensamento biolgico quanto da filosofia humana. Desde ento, esta teoria uma das mais aceitas pelo mundo cientfico, originando o
chamado paradigma Neo-Darwiniano, proveniente da teoria evolucionria Darwiniana clssica, combinada com o selecionismo de Weismann e a
gentica de Mendel.
O Neo-Darwinismo afirma que a histria de existncia de vida, em nosso mundo, atribuda completamente a alguns poucos processos
members.tripod.com/~the_dark_ages/rna.htm

2/22

23/03/13

Inteligncia Artificial

estatsticos, que agem sobre populaes e espcies. Estes processos so: reproduo, mutao, competio e seleo.
Reproduo uma propriedade bvia de toda vida. Mas, similarmente, mutao garantida para algum sistema, no qual, ela prpria se
reproduz continuamente, em um universo positivamente entrpico. Competio e seleo, tornam-se as conseqncias inevitveis de alguma
populao expandida que esteja restrita a uma rea finita. Evoluo , ento, o resultado desses processos estatsticos, interagindo, fundamentalmente,
nas populaes, gerao aps gerao.
A evoluo, na natureza, ou em qualquer lugar, no um processo proposital ou dirigido, isto , no h evidncias de que a meta da evoluo
seja a produo do homem. No entanto, os processos da natureza parecem se constituir em diferentes indivduos, competindo por recursos no
ambiente. Alguns so melhores do que os outros. Aqueles que so melhores esto mais habilitados a sobreviver e propagar sua carga gentica.
Na natureza, a perpetuao da informao gentica mantida pelo genoma, de modo que ela realizada atravs da reproduo assexuada e
sexuada. A codificao um sistema igual em todos os seres vivos, porm com variaes, e ocorre no DNA, o que confere a diversidade.
Na reproduo sexuada, a produo de descendentes se d pela unio de dois seres diferentes (cujo material gentico organizado em pares
de unidades mais simples, os cromossomos), da mesma espcie, denominados macho e fmea, os quais, diferem pela carga gentica que contm os
cromossomos sexuais, de forma a produzirem clulas chamadas de gametas. O macho produz gametas masculinos e a fmea produz gametas
femininos. Um novo ser produzido pela unio de um gameta masculino com um gameta feminino, que se divide, sucessivamente, at formarem-se
todos os rgos e sistemas do indivduo. Assim, um grupo dessas clulas, chamadas germinativas, capaz de produzir um novo macho ou uma fmea.
o processo de reproduo dos seres mais elevados na escala filogentica.
Por outro lado, na reproduo assexuada no h diferena gentica entre seres da mesma espcie, no que se refere ao seu papel na reproduo.
Na descendncia o material gentico parental trocado entre seus cromossomos (crossover), resultando em cromossomos filhos, cujo material
gentico a combinao dos materiais dos dois progenitores. Este processo o imitado pela maioria dos AE.
Convm ainda notar, quanto a evoluo biolgica, que esta exige diversidade. Na natureza, a diversidade deriva de mutaes.
Algoritmos Genticos (AG)
AG constituem uma tcnica de busca, inspirada no processo de evoluo dos seres vivos, baseada na seleo natural de Darwin. Considerando
os sistemas biolgicos como um todo, observa-se que os mesmos desenvolveram, ao longo da sua evoluo, estratgias de adaptao de
comportamento, que possibilitaram a sua sobrevivncia e a perpetuao de suas espcies. As presses do ambiente fizeram com que estas estratgias
tivessem um forte impacto sobre os organismos biolgicos, gerando profundas mudanas nos mesmos. Manifestaes destas mudanas podem ser
observadas nas especializaes estruturais e funcionais, na organizao da informao e nas representaes internas do conhecimento.
Baseado nesta analogia com o processo de evoluo biolgica das espcies, chamada de metfora biolgica, os AG mantm a informao
sobre o ambiente, acumulando-a durante o perodo de adaptao. Eles utilizam tal informao acumulada para podar o espao de busca e gerar novas
solues plausveis dentro do domnio.
Entre os principais fatores que tm feito do AG uma tcnica bem sucedida destacam-se:

simplicidade de operao;

facilidade de implementao;

eficcia na busca da regio onde, provavelmente, encontra-se o mximo global;

aplicvel em situaes onde no se conhece o modelo matemtico ou este impreciso

e tambm em funes lineares e no lineares.

Os AG podem ser enquadrados, em grande parte dos problemas cientficos a serem formulados, como problemas de busca e otimizao. O
problema de otimizao pode ser solucionado por meio de mtodos numricos, enumerativos e probabilsticos, ou por hibridismo destes mtodos.
Os mtodos numricos podem ser divididos em analticos, cuja funo f(x) explicitamente conhecida e derivvel, ou pode ser aproximada, por
alguma funo derivvel at o grau desejado de preciso, enquanto que, nos baseados em clculo numrico, caso o espao de busca seja linear,
tcnicas de Programao Linear, como o mtodo simplex, so suficientes. Contudo, em ambientes no-lineares, tcnicas de gradiente ou de estatstica
de ordem superior so geralmente empregadas. J os mtodos enumerativos de otimizao examinam cada ponto do espao de busca, um por um, em
busca dos pontos timos. Por outro lado, os mtodos probabilsticos so mtodos que empregam a idia de busca probabilstica, isto , descrevem a
variao de sistemas, que se realizam, essencialmente, sob condies inalteradas. Esses sistemas so chamados de sistemas aleatrios, de forma que a
teoria de probabilidade permite modelar seu comportamento.
Os AG fazem parte da classe correspondente aos mtodos probabilsticos de busca e otimizao, apesar de no serem aleatrios. Os AG usam
o conceito de probabilidade, mas no so simples buscas aleatrias. Pelo contrrio, os AG tentam direcionar a busca para regies onde provvel
que os pontos timos estejam. Alm disso, em relao as tcnicas de busca convencionais, os AG diferem nos seguintes pontos:

A busca da melhor soluo para o problema feita sobre uma populao de pontos, e no sobre um nico ponto, reduzindo
sensivelmente o risco da soluo recair sobre um mximo (ou mnimo) local;

Os AG realizam uma busca cega. A nica exigncia o conhecimento do valor da funo de custo (ou objetivo) de cada indivduo. No

members.tripod.com/~the_dark_ages/rna.htm

3/22

23/03/13

Inteligncia Artificial

h necessidade de qualquer outra informao, ou heurstica, dependente do problema.

Os AG usam operadores estocsticos e no regras determinsticas para guiar uma busca altamente exploratria e estruturada, onde
informaes acumuladas nas iteraes (geraes) anteriores so usadas para direcionar essa busca.

Apesar de sua simplicidade, os resultados obtidos com a aplicao do mtodo, segundo Goldberg, permitem concluir que os AG so um
mtodo de busca robusto, eficiente e eficaz em uma grande variedade de problemas.
A nvel biolgico, um indivduo formado por um conjunto de cromossomos. No entanto, pode-se fazer uma analogia, neste contexto, entre
indivduo e cromossomo, tendo em vista que um indivduo pode ser formado por apenas um cromossomo, o que comum em AG.
Por isso, os dois termos so utilizados indistintamente, neste contexto. Assim, um indivduo definido por um string, usando-se um alfabeto
finito, de modo que cada string represente um conjunto de valores para o conjunto de parmetros do problema. Um exemplo de alfabeto o
conjunto {0,1}, ou o conjunto de nmeros inteiros.
Deste modo, cada posio do string representa um gene. O cromossomo composto de genes sendo que cada gene possui um local fixo no
cromossomo, local este denominado de locus. Cada gene pode assumir um certo valor, pertencente a um certo conjunto de valores, os quais, so
denominados de alelo. Em termos de AG, o gene denominado de bit e o locus, de posio do bit no indivduo. J o termo alelo, refere-se ao
conjunto de valores possveis de serem atribudos a um determinado bit.
Ao conjunto de cromossomos, genes e alelos, denomina-se de gentipo, e as caractersticas conferidas por este, denomina-se de fentipo. Em
termos de AG, o gentipo a varivel independente, x, e o fentipo, a varivel dependente ou funo, f(x).
Normalmente, os AG trabalham com um conjunto de indivduos (populao), no qual, cada elemento candidato a ser a soluo desejada.
Cada indivduo codificado em uma cadeia de bits, denominada de cromossomo. A cadeia de cromossomos, representada por nmeros binrios de
comprimento fixo. A funo a ser otimizada o ambiente, no qual a populao inicial vai ser posta. Espera-se que, atravs dos mecanismos de
evoluo das espcies e a gentica natural, somente os mais aptos se reproduzam e, tambm, que cada nova gerao esteja mais apta ao ambiente
(funo a ser otimizada).
O grau de aptido de cada indivduo obtido pela avaliao de tal indivduo, atravs da funo a ser otimizada. Se o objetivo for maximizar, a
aptido diretamente proporcional ao valor da funo. Caso o objetivo seja a minimizao da funo, a aptido ser inversamente proporcional ao
valor da funo.
Assim, quando j se tem realizado o teste de todos os indivduos da populao, na funo a ser otimizada, obtem-se a aptido para cada um, ou
seja, o seu grau de aptido.
A prxima gerao ser uma evoluo da anterior e, para que isso ocorra, os mais aptos, os de melhor aptido, devero possuir maior
probabilidade de serem selecionados para dar origem nova gerao. Com isso, se o processo for bem conduzido, espera-se que a nova gerao
seja, em mdia, melhor do que a que lhe deu origem.
A seleo dos indivduos da gerao anterior, que vo participar da formao da nova gerao, pode ser realizada atravs da roleta ponderada.
Na roleta ponderada, os indivduos que obtiveram melhor valor de aptido, recebem maior nota. Alm disso, os valores so acumulativos.
No caso de se utilizar AG para otimizao da topologia de rede neural, o conjunto de indivduos ser representado por uma populao de
redes.
Realizada a seleo, o prximo passo a aplicao dos mecanismos de busca, tambm conhecidos como OG. Entre tais mecanismos, os mais
comumente empregados em AG, so: crossover e mutao. Estes operadores sero descritos com maiores detalhes, na prxima seo.
Um outro ponto relevante a ser mencionado, diz respeito aos parmetros do AG, ou seja, os valores que influenciam o desempenho do AG.
Seguindo a relao proposta por S. Austin, estes parmetros so: tamanho da populao, taxa de operadores, intervalo de gerao, seleo de
estratgia e fator de escalada.
O tamanho da populao de cromossomos afeta o desempenho global dos AG. Uma populao pequena insuficiente para cobrir o espao de
busca do problema. Uma populao grande mais representativa do domnio, alm de evitar a convergncia prematura para solues locais, em vez
de solues globais.
As taxas de operadores medem a freqncia com que cada tipo de OG utilizado. Representam, tambm, a influncia que cada tipo de OG
exerce sobre a populao de cromossomos. Alm do que, se a taxa de operadores de crossover for muito alta, alguns cromossomos de bom
desempenho podem ser removidos mais rapidamente do que a seleo possa desenvolv-los. Se a taxa de crossover for muito baixa, a busca pode
estagnar. Entretanto, se a taxa dos operadores de mutao for baixa, evita-se que uma dada posio estabilize-se em um nico valor. Uma taxa de
mutao alta resulta essencialmente numa busca aleatria.
O intervalo de gerao controla o percentual da populao, a ser substitudo durante cada ciclo de gerao. Por exemplo: N x G cromossomos
da populao P(t) so escolhidos para serem substitudos na populao P(t + 1). Se o valor de G for igual a 1, significa que toda a populao
substituda durante cada gerao.
As estratgias de seleo correspondem aos critrios utilizados para a escolha de cromossomos durante a reproduo. Um exemplo de
estratgia de reproduo, baseado em S. Austin, a seleo pura, onde os cromossomos so reproduzidos em funo da sua aptido.
O fator de escalada mede a manuteno da diversidade gentica da populao de cromossomos durante a evoluo. Um cromossomo ou um
members.tripod.com/~the_dark_ages/rna.htm

4/22

23/03/13

Inteligncia Artificial

grupo de cromossomos pode ter uma aptido bastante forte, a ponto de dominar o processo de reproduo, reduzindo-se a diversidade da
populao. Uma maneira de se controlar este processo ordenando os cromossomos, escalonando o seu desempenho, para refletir sua aptido
relativa dentro da populao, e utilizando as operaes genticas de mutao para reduzir a homogeneidade da populao de cromossomos.
Operadores Genticos
Indivduos novos so criados usando-se dois principais operadores de recombinao gentica, conhecidos como crossover e mutao.
O crossover se d pela aproximao dos cromossomos dos dois indivduos (pais), que trocam entre si partes de seus cromossomos. Isso
resulta em dois cromossomos diferentes que, porm, ainda guardam influncias dos pais. H vrias formas possveis de se fazer o cruzamento. O
operador crossover, mais simples, o chamado crossover de um ponto (One-Point), onde, primeiro um local de cruzamento escolhido com
probabilidade uniforme sobre o comprimento do cromossomo, sendo, ento, os strings correspondentes permutados. H, ainda, muitas outras
tcnicas de crossover, como o caso do crossover de dois pontos (Two-Point), e dos tipos uniformes. Contudo, no h consenso sobre qual a
melhor tcnica a ser usada.
A mutao consiste em perturbaes na cadeia dos cromossomos dando origem a uma nova cadeia, que guardar pouca ou nenhuma
informao da cadeia me. Na realidade, mutao a denominao dada a vrios mecanismos de alterao gentica, os quais tm em comum o fato
de fazerem o novo cromossomo apresentar pouca informao dos pais.
Esta alterao ocorre de forma que cada gene em cada cromossomo um candidato mutao, enquanto que a seleo determinada pela
probabilidade de mutao. Esta probabilidade mantida, usualmente, em um valor baixo, para evitar-se a perda de um nmero grande de
cromossomos bons. O operador de mutao pode ser implementado de vrias maneiras. A codificao binria de string o modo mais fcil para
execut-la.
A tarefa da mutao em AG tem sido a de restituir a perda ou material gentico inexplorado na populao, com o objetivo de prevenir a
convergncia prematura do AG para solues sub-timas.
Dentre os principais mecanismos de alterao gentica, que recebem a denominao global de mutao, destacam-se: troca simples,
translocao, inverso, deleo e adio.
Na adio, ocorre a insero de mais um gene na cadeia, e na deleo, justamente o oposto, ou seja, ocorre a retirada de um gene da cadeia.
Geralmente, estes mecanismos no so utilizados em algoritmos genticos, pois alteram o comprimento da cadeia do cromossomo.
A troca simples consiste de um erro de cpia, de um ou mais genes da cadeia. Se um gene for considerado como sendo um bit com valor lgico
1, a ocorrncia de troca simples levaria este bit (gene) para nvel lgico 0 e vice-versa (Figura 2). J a inverso consiste na retirada e insero de um
pedao da cadeia, porm, na ordem inversa da que foi retirada.
Ao contrrio da inverso - onde um pedao do cdigo retirado e colocado no mesmo local com ordem inversa -, a translocao retira uma
parte do cromossomo e coloca em outra posio do mesmo cromossomo. Estes trs ltimos mecanismos no alteram o comprimento original da
cadeia e, como a maior parte dos trabalhos em algoritmo gentico utilizam cadeia de comprimento fixo, estes so os mais comumente utilizados. No
entanto, como na maioria dos trabalhos com AG, este tambm usa o termo mutao, como sinnimo de troca simples.
Por ltimo, aps a seleo e a aplicao dos OG, tem-se uma nova gerao, a qual deve ser avaliada, visando comparar o seu grau de aptido
em relao a gerao anterior. Caso tal gerao no esteja apta o suficiente, deve-se repetir o processo de seleo e reproduo, at que o grau de
aptido seja aceitvel.
Algoritmo Gentico Simples
O Trabalho original de Holland (1975) prope os seguintes passos principais para um algoritmo gentico simples:

Gerao da populao inicial;

Validao dos elementos da populao e anlise de convergncia;

Seleo;

Manipulao gentica.

Gerao da Populao Inicial


A populao inicial pode ser obtida atravs da gerao aleatria de indivduos, obedecendo condies de contorno previamente estabelecidas
pelo usurio. O usurio estabelece estas condies, tendo em vista o seu conhecimento prvio do problema a ser otimizado. Quanto mais restringente
forem as condies de contorno, mais rpida ser a convergncia, isso porque os valores gerados aleatoriamente estaro mais prximos da soluo
desejada.
O nmero de elementos, que compor a populao, ainda motivo de estudos, mas existem vrias heursticas, ou seja, depende muito da
experincia do usurio e do seu conhecimento prvio sobre a funo a ser otimizada. claro que, quanto maior o nmero de elementos na populao,
maior a probabilidade de convergncia, tendo em vista que aumenta a probabilidade da soluo desejada ser constatada entre os elementos da
populao. Em contrapartida, o tempo de processamento tambm aumenta. J, no caso da populao inicial ser muito pequena, ela ter o problema
da perda de diversidade, isto , o espao de busca seria muito pequeno para ser avaliado. Desta forma, a soluo obtida poderia no estar dentro do
timo global. Conseqentemente, a convergncia seria prematura.
members.tripod.com/~the_dark_ages/rna.htm

5/22

23/03/13

Inteligncia Artificial

A populao inicial no precisa, necessariamente, de ser gerada aleatoriamente, tendo em vista que o objetivo gerar uma populao dentro de
certo intervalo onde se acredita estar a resposta. Tambm, pode-se obter a populao inicial atravs de um escalonamento do nmero de indivduos,
que compem no intervalo especificado, isto : se a populao de 50 indivduos e o intervalo inicial de 0 a 10, os indivduos da populao inicial
devero ser distribudos uniformemente neste intervalo.
O nmero de elementos na populao, a probabilidade de ocorrer cruzamento e a probabilidade de acontecer mutao, so denominados de
parmetros de controle dos AG.
Validao dos Elementos da Populao e Anlise de Convergncia
A validao o processo de expor cada elemento da populao a funo de custo (objetivo) e, ao final, orden-los de acordo com a aptido
esta funo. Na convergncia, analisa-se o desempenho da populao para ver se o objetivo foi atingido. Isto pode ser feito atravs de vrios fatores,
tais como: valores mximo, mnimo e mdio da funo de aptido. Tambm, relativamente comum utilizar-se o desvio padro dos valores da funo
de aptido, como forma de anlise da convergncia.
Como o AG regido por populao, se na populao inicial tiver um elemento que seja a resposta exata do problema, o AG ainda assim no
finalizar o processo de busca da soluo. A finalizao ou convergncia s ocorrer quando a aptido mdia da populao estiver suficientemente
estvel, ou seja, quando houver pouca variao da aptido mdia da populao atual em relao a anterior. Isto indica que a populao se adaptou ao
meio, isto , os elementos da populao levam a funo ao valor otimizado/desejado.
Utiliza-se memorizar o indivduo mais apto, independentemente deste fazer, ou no, parte da populao atual. Assim, ao final, este ser o
resultado esperado.
Contudo, na utilizao de AG pode ocorrer uma rpida convergncia prematura para uma soluo sub-tima, porm no o esperado timo
global. Este problema denominado convergncia prematura, podendo ocorrer devido a populao reduzida ou a m distribuio da populao
inicial, em torno do ponto sub-timo. Ou seja, um indivduo prximo de um timo local, possui um valor de aptido superior aos demais indivduos da
populao.
Conseqentemente, o processo de seleo far com que este indivduo tenha grande chance de dominar a prxima gerao e, assim
sucessivamente, se no aparecerem outros indivduos com melhores valores de aptido.
Conforme pode ser visto, a convergncia prematura pode ocorrer devido a uma m distribuio dos indivduos no espao de busca. Esta m
distribuio, tambm recebe a denominao de perda da diversidade. Segundo Jlio Tanomaru, o conceito de diversidade indica o grau em que as
mais diversas regies esto representadas no espao de busca. Este problema pode ser amenizado atravs da escolha criteriosa do nmero de
indivduos na populao, melhora da distribuio dos indivduos da populao inicial no espao de busca e, tambm, impedindo a perda de
diversidade nas primeiras geraes.
Seleo
A seleo tem por objetivo fazer com que somente os elementos mais aptos da gerao anterior participem do processo que ir gerar a nova
populao. O processo de seleo tem incio aps a verificao do grau de aptido de cada elemento funo de custo e a verificao da no
convergncia dos valores.
O processo de validao fornece os elementos da populao, em ordem de aptido. Uma das formas empregadas na seleo, para pegar
somente os mais aptos, o da roleta ponderada. Na roleta ponderada, imagina-se uma roleta em que cada casa, corresponde a um indivduo, sendo a
rea da casa proporcional ao valor de aptido de cada indivduo, de modo que os indivduos mais aptos tm maior probabilidade de serem
selecionados. Desta forma, a aptido de cada indivduo usada para aumentar sua probabilidade de sobrevivncia, e no utilizada de forma
determinstica.
Manipulao Gentica
A etapa de manipulao gentica consiste na aplicao de OG, isto dos operadores crossover e/ou mutao, somente em alguns elementos
que tiveram maior valor de aptido, quando sorteados por meio da roleta ponderada. Ao trmino desta etapa ter sido gerada uma nova populao,
que dever repetir os passos anteriores at que a aptido da populao seja aceitvel.
Inicialmente necessrio estabelecer alguns pontos importantes, tais como: manter o tamanho da populao fixo e garantir que uma parcela da
nova populao seja composta por elementos obtidos por seleo da populao anterior, alm do que, o complemento seja de elementos manipulados
pelos OG.
Como exemplo, se a populao for composta de 40 elementos, na etapa de seleo devero ser sorteados, com o auxlio da roleta, 20
elementos (caso seja escolhida uma renovao de 50%) que passam diretamente a fazer parte da nova gerao, enquanto isso, os outros 20 elementos
podero sofrer manipulao pelos OG. Com o auxlio da roleta, torna-se claro que entre os 40 elementos sorteados os mais aptos, ou melhor, os de
maiores notas acumuladas aparecero mais vezes.
Quanto aos OG, costuma-se execut-los em seqncia nos AG simples, isto , inicialmente aplica-se o OG de crossover e, aps, o de
mutao.
A aplicao do crossover implica na composio de 10 casais a partir dos 20 elementos, sendo que alguns sero acasalados e outros no.
Para tanto gera-se dois nmeros aleatrios: o primeiro, entre 0 e 1, indicar a probabilidade de ocorrer crossover e, o segundo, o local da realizao
do crossover. Caso o primeiro nmero gerado seja inferior ao definido pelo usurio, como probabilidade de crossover, realiza-se o crossover
members.tripod.com/~the_dark_ages/rna.htm

6/22

23/03/13

Inteligncia Artificial

propriamente dito, caso contrrio copia-se os pais para a nova gerao. O segundo nmero aleatrio, gerado no caso da ocorrncia de crossover,
indicar a posio de corte do cromossomo para efetuar o crossover. Para tanto o nmero aleatrio gerado dever estar entre 1 e g - 1, onde g o
nmero de genes ou bits do cromossomo.
Para a aplicao do OG de mutao, h necessidade de gerar um nmero aleatrio para cada bit de cada indivduo. Este nmero randmico
denominado de probabilidade de mutao e dever ser comparado com a probabilidade de mutao estipulada pelo usurio, para o problema em
questo. Caso seja inferior a esta, executa-se a mutao, caso contrrio repete-se o processo para o prximo bit do indivduo, at que todos os
indivduos tenham sido analisado.
A probabilidade de ocorrer mutao sempre bem menor que a de ocorrer crossover. Segundo M. Sirivas e L.M. Patnaik, existe um
compromisso entre os trs parmentros de controle do AG simples: tamanho da populao, probabilidade de crossover e probabilidade de
mutao. Muitos autores tm proposto valores para estes parmetros visando garantir uma boa performance do AG, porm, estes valores ainda fazem
parte de vrias heursticas.
4.4. Aplicaes de AG para Redes Neurais
AG podem ser aplicados s Redes Neurais Artificiais (RNA) em trs modos:

treinamento de RNA (ajuste dos pesos);

otimizao da topologia de RN (nmero de neurnios da camada intermediria);

gerao tanto da topologia como dos pesos das conexes.

A maioria dos trabalhos em que AG so utilizados tratam do problema de treinamento, ou seja, da gerao dos pesos das conexes da rede.
Neste tipo de aplicao, dada uma estrutura para uma rede, um AG utilizado para achar os pesos que resultam nos menores valores de erro, ao
invs de algoritmos de treinamento convencionais, como o Backpropagation (retropropagao). Por exemplo, Montana mostrou como possvel
treinar RNA usando AG. Muhlenbein abordou a dinmica da evoluo combinada com aprendizado, dando os primeiros passos para a compreenso
dos dois mecanismos agindo simultaneamente. Prado e Porto exploraram o treinamento de RNA diretas atravs de AG.
Trabalhos em que os AG so utilizados para a escolha da topologia da RNA melhor adaptada soluo de um problema so mais raros.
Nestes trabalhos geralmente os genes codificam a topologia da rede, especificando que conexes esto presentes. Os pesos so, ento, determinados
por outros mtodos. Como exemplo de pesquisas nesta rea pode-se citar os trabalhos de Garcia.
Quanto a terceira alternativa, utilizando os AG tanto para a escolha da topologia quanto para o treinamento da RNA, alguns trabalhos nesta rea
foram publicados por Karunanithi, Das & Whitley e Angeline.
4.2.2. Algoritmos Genticos no Aprendizado de Redes Neurais
Geralmente o treinamento de RNA com mltiplas camadas realizado por algum mtodo de gradiente, quase sempre uma variante da regra
delta, usando o algoritmo de retropropagao para o clculo de derivadas parciais. Embora esse mtodo seja eficaz, em muitos casos algoritmos de
gradiente somente buscam um mnimo local da superfcie de erros de uma RNA com mltiplas camadas e, geralmente, tal superfcie extremamente
complexa e multimodal.
Com o objetivo de proporcionar uma busca mais global, AG podem ser empregados para determinao dos pesos de uma RNA com mltiplas
camadas de configurao especfica. Nesse caso, uma populao de RNA com mltiplas camadas de mesma arquitetura usada, ou seja, cada RNA
com mltiplas camadas com seus pesos constitui um indivduo. Os pesos podem ser representados por longas seqncias binrias ou nmeros reais. A
avaliao de cada indivduo feita com base num conjunto de padres para teste, de modo que a aptido seja uma funo decrescente do erro
quadrtico.
O AG utilizado para este treinamento pode ser o AG simples, conforme descrito abaixo:
Etapas do Algoritmo:
1 Criao da populao inicial de pesos para uma RNA:
Inicia-se com todas as redes tendo a mesma arquitetura;
Cada indivduo da populao ter um conjunto de pesos sinpticos diferente;
Usa-se, para a criao desta populao inicial, a distribuio uniforme ou distribuio Gaussiana;
Codificao da cadeia de cromossomos (fixa). No entanto, neste caso, cada gene constitudo de um string: como cada gene corresponde a
um valor de peso e este um nmero real, torna-se necessria a codificao deste nmero em um string;
2 Avaliao da populao e teste de convergncia:
Para esta avaliao uma funo de aptido deve ser escolhida. Normalmente esta funo o prprio erro acumulado por poca para os
padres de treinamento.
Caso um indivduo da populao atual tenha atingido o erro esperado, considera-se que o algoritmo convergiu para uma soluo e o treinamento
members.tripod.com/~the_dark_ages/rna.htm

7/22

23/03/13

Inteligncia Artificial

termina.
3 A seguir parte-se para a criao de novos indivduos:
Emprega-se o AG para seleo, crossover e mutao.
Determina-se, por conseguinte, a nova gerao.
4 Volta-se ao passo 2.
A seguir pode ser realizada a avaliao da RNA vencedora usando-se um conjunto de padres de teste que no aquele usado para o
treinamento.
Testes conduzidos com problemas simples de reconhecimento de padres produziram resultados inconclusivos. Kitano mostrou
experimentalmente que AG so mais lentos que algoritmos rpidos para treino de RNA com mltiplas camadas, como o quickprop, e props usar
AG somente para busca global no incio do treino, bem como um mtodo de gradiente convencional para busca local. Em resumo a rede seria
treinada, inicialmente, pela tcnica de AG e, aps um certo nmero de pocas, um ajuste fino seria realizado, utilizando-se um algoritmo como o
backpropagation, com os pesos iniciais dados pelo melhor indivduo resultante da aplicao do AG.
Um outro problema diz respeito ao tamanho da RNA. Conforme a quantidade de neurnios que ela possua aumenta, o treinamento por AG
pode tornar-se invivel. De forma a resolver estes problemas, vrias tcnicas tm sido propostas. A idia geral destas tcnicas a de se fixar todos os
pesos a exceo de um. A seguir se treina este peso para todos os indivduos da populao, via AG, at se chegar ao que poderia ser considerado o
melhor valor para esse peso. Encontrado este valor, ele fixado, juntamente
com todos os outros a exceo do segundo peso. Este seria treinado da mesma forma e, assim sucessivamente, at que todos os pesos
tenham sido treinados. A esta classe de procedimentos denomina-se de buscas unimodais.
Uma soluo criativa, dentre as implementaes de busca unimodal, aquela proposta por. Dias prope a incluso de uma Anlise de
Sensibilidade (AS), no algoritmo, de forma a ser possvel determinar a importncia de cada peso para o erro de poca. No algoritmo implementado
por Dias, denominado de Treinamento Sensibilidade Global, a sensibilidade do erro da poca em relao a cada peso avaliada. Assim, todos os
pesos so processados individualmente pelo AG, conforme a ordenao dada pela AS. Os resultados obtidos por Dias mostram-se promissores.
4.2.3. Algoritmos Genticos Na Otimizao Do Nmero De Neurnios Na Camada Intermediria
Uma outra aplicao interessante de AG a determinao de boas arquiteturas de RNA com mltiplas camadas para uma determinada tarefa.
Cada indivduo corresponde a uma RNA, ou seja, o nmero de camadas, o nmero de ns por camada e o padro de conectividade so
representados por seqncias binrias e a busca opera, ento, no espao das arquiteturas de RNA com mltiplas camadas. Alm disso, os parmetros
de aprendizagem, usando a regra delta, tambm foram codificados nos cromossomos. No somente a representao cromossmica e os OG se
tornam relativamente complexos, mas o processo de avaliao de cada indivduo consome tempo. Para a avaliao, as RNA com mltiplas camadas
usando pesos gerados aleatoriamente so construdas para cada indivduo e treinadas usando-se um conjunto de padres de treino. Depois disso,
cada RNA avaliada usando-se um outro conjunto de padres de teste. Somente depois, a aptido de cada indivduo estimada usando-se
informao referente velocidade de convergncia, erro de reconhecimento, etc.
Mais recentemente, Brasil desenvolveu um Sistema Especialista Hbrido para auxiliar na minimizao da etapa de Aquisio de Conhecimento
de um sistema especialista. Neste trabalho, o AG foi utilizado para auxiliar na escolha da melhor topologia para a RNA. Neste sentido, desenvolveu-se
um algoritmo de aprendizado, chamado de Genetic-Backpropagation Based Learning Algorithm (GENBACK), inspirado no de Rumelhart et al.
Mas diferente em vrios aspectos: otimizao da camada intermediria auxiliada pelo AG, incorporao de conectivos lgicos E/OU no local do
somatrio de pesos e tratamento das variveis de entrada por lgica fuzzy. A seguir apresentada, resumidamente, as etapas do algoritmo
GENBACK generalizado.
Etapas do Algoritmo GENBACK:
1 Criao da populao inicial de RNA:
Inicia-se com todas as redes tendo o mesmo nmero de neurnios de entrada e de sada;
Cada indivduo (RNA) da populao ter um nmero diferente de neurnios na camada intermediria;
Usa-se, para a criao desta populao inicial, a distribuio uniforme ou distribuio Gaussiana;
Codificao da cadeia de cromossomos (fixa). Foi utilizada a representao binria do cdigo gentico como sendo igual a 8 bits.
Representao esta identificando o nmero de neurnios na camada intermediria da RNA;
2 Treinamento da RNA: treina-se cada rede utilizando um algoritmo tipo Backpropagation para o mesmo nmero de pocas:
A partir da segunda gerao, as redes novas devem ser treinadas para um nmero de pocas igual ao total de todas as iteraes deste
algoritmo. Ou seja, uma rede criada na gerao nmero cinco dever ser treinada cinco vezes o nmero de pocas estipulado;
3 Avaliao da melhor topologia de rede:
Para esta avaliao uma funo de aptido deve ser escolhida. No trabalho original de Brasil foram utilizadas as seguintes funes:
members.tripod.com/~the_dark_ages/rna.htm

8/22

23/03/13

Inteligncia Artificial

F1 = NCH/ERROR
F2 = 1/(NCH + ERROR)
onde F1 e F2 = funo de aptido ou funo objetivo ou funo de custo, NCH = nmero de neurnios na camada intermediria da RNA,
ERROR = erro na sada da RNA;
4 A seguir parte-se para a criao de novos indivduos:
Emprega-se o AG para seleo, crossover e mutao.
Determina-se, por conseguinte, a nova gerao.
Este processo repetido at que o conhecimento da soluo do timo global seja descoberto, ou at algum critrio de parada, por exemplo, o
nmero de geraes;
5 Volta-se ao passo 2.
A seguir pode ser realizada a avaliao da RNA vencedora usando-se um conjunto de padres de teste que no aquele usado para o
treinamento.
4.3. O Problema Do Aprendizado
Aprendizado em RNA um processo altamente importante e, ainda nos dias de hoje, continua a ser submetido a intensas pesquisas em ambas
as abordagens relacionadas as redes biolgicas e neurais. Sabe-se, portanto, que o aprendizado no um processo nico.
H diferentes processos de aprendizado, isto , cada um adequado a diferentes tipos de redes.
De uma maneira geral, o aprendizado pode ser classificado em dois tipos: associativo e no-associativo. O aprendizado associativo implica em
aprender sobre o relacionamento que h entre pares de estmulos. Este tipo de aprendizado um modelo para RNA supervisionadas. Quanto ao
aprendizado no-associativo, no h estmulos secundrios para associar com os estmulos primrios. Neste tipo de aprendizado, a repetio de um
estmulo fornece a oportunidade para aprender sobre suas propriedades. Assim, este tipo de aprendizado um modelo para RNA nosupervisionadas.
Aprendizado Supervisionado
Durante a sesso de treinamento de uma RNA, pares de entradas e sadas so apresentados ela. A rede toma cada entrada e produz uma
resposta na sada. Esta resposta comparada com o sinal de sada desejado. Se a resposta real difere da resposta desejada, a RNA gera um sinal de
erro, o qual , ento, usado para calcular o ajuste que deve ser feito para os pesos sinpticos da rede. Assim, a sada real casa com a sada desejada.
Em outras palavras, o erro minimizado. O processo de minimizao de erro requer um circuito especial conhecido como um professor ou supervisor,
da o nome Aprendizado Supervisionado.
Para este tipo de aprendizado leva-se em considerao a importncia de clculos requeridos ao minimizar o erro, pois depende do algoritmo
usado. Claramente, o algoritmo puramente uma ferramenta matemtica derivada de tcnicas de otimizao. Tais tcnicas so muitssimo usadas para
os paradigmas conexionistas, porm, alguns parmetros devem ser levados em conta, como: o tempo requerido por iterao, o nmero de iteraes
por padro de entrada para o erro alcanar um valor mnimo durante a sesso de treinamento, se a RNA atingiu um mnimo local ou global, caso tenha
alcanado um mnimo local se a rede pode escapar dele, etc. Um dos algoritmos, que se utiliza dos parmetros acima mencionados, o de
retropropagao (ou backpropagation).
Aprendizado No-Supervisionado
Em contraste ao aprendizado supervisionado, o aprendizado no-supervisionado 5 no requer um professor, isto , no h sada desejada.
Durante a sesso de treinamento, a RNA recebe em sua entrada excitaes muito diferentes ou padres de entrada e organiza, arbitrariamente, os
padres em categorias. Quando uma entrada aplicada rede, a RNA fornece uma resposta de sada indicando a classe a qual a entrada pertence.
Se uma classe no pode ser encontrada para o padro de entrada, uma nova classe gerada. Este tipo de aprendizado utilizado em sistemas
classificadores.
Regras de Aprendizado
Para que se possa solucionar um problema, usando-se o modelo das RNA, o primeiro passo estabelecer um conjunto de pesos para suas
conexes, ativar um conjunto de unidades que correspondam a um padro de entrada e observar o padro para o qual a rede converge e em que se
estabiliza. Se o padro final no corresponder ao que se deseja associar, como resposta ao de entrada, preciso fazer ajustes nos pesos e ativar
novamente o padro de entrada. Por causa de sua semelhana com o aprendizado humano, esse processo de ajustes sucessivos das RNA chamado
de aprendizagem.
Os paradigmas desenvolvidos, neste sentido, utilizam regras de aprendizado que so descritas por expresses matemticas, chamadas de
equaes de aprendizado. Estas equaes descrevem o processo de aprendizado para o paradigma, o qual, na realidade, o processo para autoajustar seus pesos sinpticos.
Uma das regras de aprendizado para RNA, bem conhecida, a regra de Hebb. Outra, a regra delta, que inspirada na regra de Hebb.
members.tripod.com/~the_dark_ages/rna.htm

9/22

23/03/13

Inteligncia Artificial

Esta regra foi desenvolvida por Bernard Widrow e Ted Hoff, por isso, conhecida tambm como regra de aprendizado de Widrow-Hoff ou
como Least Mean Square (LMS), tendo em vista, que ela minimiza o erro mdio quadrtico. Alm destas, h a regra delta generalizada, que ser
descrita a seguir.
Regra Delta Generalizada
Muitas redes usam alguma variao da frmula para treinamento da regra delta. Uma delas, a regra delta generalizada ou, tambm, conhecida
por algoritmo de retropropagao. O algoritmo de retropropagao. Desde sua redescoberta, o algoritmo de retropropagao tem sido amplamente
usado como um algoritmo de aprendizado para RNA, com topologia direta com mltiplas camadas.
Uma RNA que utiliza um algoritmo de retropropagao aprende de forma supervisionada (atravs de exemplos), em tempo discreto e utiliza um
mtodo de gradiente descendente para correo de erro, ou seja, o algoritmo de codificao executa um mapeamento entrada-sada, atravs da
minimizao de uma funo de custo. A funo de custo minimizada, realizando-se iterativamente ajustes nos pesos sinpticos, de acordo com o erro
quadrtico acumulado para todos os padres do conjunto de treinamento . Outras funes de custo podem ser utilizadas, mas independentemente
disto, o procedimento de ajuste de pesos realizado atravs do clculo da mudana da funo de custo, com respeito mudana em cada peso
(mtodo do delta). O processo de evoluo da reduo gradativa de erro, que acompanha a minimizao, pode levar a convergncia. A medida que a
rede aprende, o valor do erro converge para um valor estvel, normalmente irredutvel. O processo de aprendizagem prossegue, at que algum critrio
seja estabelecido, como por exemplo, um valor mnimo de erro global, ou uma diferena sucessiva mnima entre erros calculados para cada iterao.
4.4. REDES NEURAIS: O PROBLEMA DO NMERO DE NEURNIOS NA CAMADA INTERMEDIRIA
O computador pode ser considerado como mquina de resolver problemas. Logo, natural imaginar que tanto a possibilidade de resolver um
problema especfico, como quanto vai ser gasto em recursos na tarefa, dependem da mquina usada. Ao fato de que um problema possa ser resolvido
com recursos finitos, chama-se Computabilidade [Kfoury82] e a quantidade de recursos envolvidos, Complexidade 8 . Fala-se, tambm, em
Computabilidade Prtica. Por exemplo, um problema que requeira um tempo de 100 anos do mais rpido computador disponvel no praticamente
computvel.
No caso de RNA, pode-se dizer que o problema crucial no reside na computabilidade e, sim, na complexidade. Em RNA, complexidade
diz respeito ao nmero de camadas utilizadas pela rede para resolver um dado problema, bem como ao nmero de neurnios em cada camada. Os
trabalhos de Minsky e Papert [Minsky88] provaram que redes feedforward necessitam de camadas intermedirias para solucionar problemas no
linearmente separveis. Posteriormente, ficou provado que tudo que uma rede pode aprender com n camadas intermedirias pode ser aprendido por
uma rede de uma nica camada intermediria. O nmero de neurnios nas camadas de entrada e de sada, normalmente, funo do problema em
questo. O problema reside, ento, no nmero de neurnios na camada intermediria: se for um nmero grande, a rede pode se especializar e perder a
capacidade de generalizao; se for um nmero pequeno, a rede pode no aprender. Este tem sido, at o presente momento, um problema em aberto.
Heursticas tm sido utilizadas para a definio deste nmero.
Nem sempre o erro quadrtico acumulado. Este acumulado quando o treinamento por pocas. Eventualmente, o treinamento pode ser
feito por padro e no por poca.
No entanto, uma soluo criativa a de utilizar AG para a determinao deste nmero a partir de uma populao inicial de redes com diferentes
nmeros de neurnios na camada intermediria. Brasil [Brasil99] explorou esta soluo obtendo resultados encorajadores.
Uma linha de pesquisa ainda no to explorada quanto a utilizao dos AG para o treinamento propriamente dito de uma RNA e a escolha da
melhor topologia de uma RNA, diz respeito a utilizao dos AG tanto para o aprendizado da RNA quanto para a otimizao da camada intermediria
da RNA.

4.5. Caractersticas Bsicas de Redes Neurais Artificiais


Quando falamos em Redes Neurais Artificiais (RNA's), podemos distinguir pelo menos dois componentes fsicos: conexes e elementos de
processamento . A combinao desses dois elementos cria uma RNA. Podemos fazer uma analogia com um grafo, onde os nodos so os elementos
de processamento e as arestas so as conexes.
H ainda outros componentes (no-fsicos) das redes neurais: padres e funes . Padres so dados de entrada da rede. Eles so uma codificao
que corresponde a certa modelagem da realidade de uma aplicao definida para a RNA. Funes so modelos matemticos utilizados no treinamento
e reconhecimento de padres.
Conexes, elementos de processamento, padres e funes so os componentes bsicos de qualquer RNA, mas infelizmente esta terminologia no
uma regra, uma vez que no h uma norma que defina as denominaes e utilizao de cada um deles. Mas, para que o leitor tenha uma viso de
como funcionam estes componentes, cada um deles definido a seguir.
4.5.1. Padres
As RNA's no podem operar sem dados. Esses dados so os padres apresentados a uma RNA. Podem ser valores numricos ou mesmo
caracteres que sero posteriormente transformados em nmeros. A um determinado padro de entrada corresponde um sinal de sada, sendo que a
dimenso (tipo) do padro de entrada pode ser diferente do padro de sada.
Uma das principais aplicaes de RNA's o reconhecimento (classificao) de padres. Por exemplo, em reconhecimento da fala existem tipos
diferentes de caractersticas envolvidas. Nesta aplicao, o padro de entrada pode ser uma matriz que contm o caracter, e a sada apenas um
nmero que indica se o caracter foi reconhecido ou no. Assim, temos um padro de entrada com dimenso diferente do padro de sada. Alm disso,
members.tripod.com/~the_dark_ages/rna.htm

10/22

23/03/13

Inteligncia Artificial

neste caso torna-se essencial um pr-processamento de informaes. Isso quer significa que a seleo e representao correta das caractersticas do
padro a ser aplicado pode afetar a performance da rede. Criar o melhor conjunto possvel de caractersticas como padro o primeiro passo para o
sucesso de qualquer aplicao em RNA's.
4.5.2. Funes
Das funes utilizadas em RNA's, podemos distinguir basicamente em dois tipos: funes para transferncia de sinais entre neurnios e
funes aprendizado de padres . As funes de transferncia, tambm chamadas de funes de limiar , so aquelas responsveis por determinar a
forma e a intensidade de alterao dos valores transmitidos de um neurnio a outro. As funes de limiar so basicamente cinco: linear , hard-limiter
ou step , em rampa , sigmoid e gaussiana .
A funo linear uma equao linear da forma:

sendo que x um nmero real e

um escalar positivo (inclinao da reta). Veja figura 2, para

= 1.

Figura 2. Linear: reta resultante da funo linear de transferncia.

A hard-limiter uma equao que pode receber dois valores, uma vez que uma funo binria do tipo:

onde

so os valores que valero para f(x) caso x ultrapasse ou no o limiar

. Veja figura 3.

Figura 3. Hard-limiter: mantm a sada em valores binrios.


A funo de limiar em rampa tem este nome por ser uma hard-limiter modificada: ela possui no uma transio direta entre dois valores, mas
sim uma fase de transferncia:

onde

o valor de saturao da funo, ou seja, durante a transio o valor de f(x) ir variar dentro do intervalo

,-

). Veja figura 4.

Figura 4. Em rampa: esta funo permite a delimitao de


uma rea de transio durante a variao da transferncia.
A funo sigmoid a verso contnua da funo em rampa. Ela permite uma transio gradual e no linear entre dois estados:
members.tripod.com/~the_dark_ages/rna.htm

11/22

23/03/13

Inteligncia Artificial

onde
um real positivo. Quanto mais o valor de
se aproximar de 5, mais detalhada ser a transio de um estado a outro. Este tipo
de funo utilizada tambm em outras reas como sociologia e qumica. Veja figura 5, para
= 5.

Figura 5. Sigmoid: uma transio mais detalhada.


A funo de transferncia gaussiana conhecida pelo seu uso em estatstica. Aqui ela usada quando h definio de um ponto mdio em x e
uma varincia a este ponto:

onde v uma varincia pr-definida. Veja figura 6 para v = 0,2.

Figura 6. Gaussiana: distribuio uniforme baseada na varincia.


Vamos passar a analisar agora outro tipo de funo: a de aprendizado. As funes de aprendizado em geral dependem do modelo de RNA que
escolhido. Estas funes servem para realizar a alterao dos valores dos pesos da rede, possibilitando assim o aprendizado de um determinado
padro. As diversas funes de aprendizado esto descritas nos respectivos modelos de RNAs, que sero analisados posteriormente.
4.5.3. Conexes
Uma RNA equivalente a um grafo orientado (dgrafo). Um dgrafo tem arestas (conexes) entre nodos (elementos de processamento) com um
s sentido. Isso faz com que a informao flua numa direo definida (denotada por uma flexa no desenho do dgrafo). Esta informao flui atravs das
arestas e coletada pelos nodos. RNA's estendem a representao de dgrafo por incluir um peso em cada aresta (conexo) que modula o sinal de
sada que passado para o nodo adjacente (ver figura 7).

Figura 7. Diagrama : dgrafo de uma RNA.


Os pesos so os responsveis pela memorizao do padro, pois so ajustados durante o processo de aprendizado que captura as informaes.
Desta forma, uma conexo define tanto um fluxo de informao quanto a modulao da informao que passada.
Desta forma, pesos e conexes positivos (possuem um valor numrico positivo) so excitatrios e aqueles que so negativos so inibitrios. Caso
tenhamos um peso igual a zero, como se a conexo no existisse.
4.5.4. Elementos de Processamento
O elemento de processamento (tambm chamado de neurnio ou neuronodo ) a parte da RNA onde realizada todo o processamento. Um
elemento de processamento (que um nodo no dgrafo) de uma camada de entrada recebe apenas um valor do padro de entrada correspondente,
mas possui diversas conexes com os neurnios das camadas seguintes (que podem ter vrias entradas).
Cada elemento de processamento coleta a informao que foi mandada para ele e produz um nico valor de sada. Existem duas importantes
qualidades que um elemento de processamento deve ter:
Elementos de processamento necessitam apenas de informaes locais. A sada do elemento de processamento uma funo dos pesos e
das entradas;
members.tripod.com/~the_dark_ages/rna.htm

12/22

23/03/13

Inteligncia Artificial

elementos de processamento produzem apenas um valor de sada. Este valor nico propagado atravs das conexes do elemento
emissor para o receptor, ou para fora da rede, quando for um elemento da camada de sada.
Estas duas qualidades permitem que RNA's operem em paralelo.
Existem vrios mecanismos para se obter a sada de um elemento de processamento. Geralmente temos uma funo das sadas da camada
anterior e os pesos das conexes entre a camada anterior e a atual. Matematicamente, temos que a sada de um elemento de processamento uma
funo das entradas e dos pesos:

O modo mais comum de funo de um elemento de processamento a combinao linear. Desta forma temos:

com i variando de 1 a n (nmero de conexes).

4.5.5 Aplicaes
So inmeras as aplicaes possveis para as redes neurais, mas elas vieram de encontro s necessidades de modelagem de problemas que no
so representveis atravs da programao convencional, como, por exemplo, o reconhecimento de imagens. Neste sentido, atualmente encontramos
outros modelos matemticos como a lgica fuzzy e os algoritmos genticos, que tambm contribuem para aplicaes que exigem uma certa margem de
erro para serem executadas. Neste sentido, a seguir so apresentados alguns exemplos de aplicaes tpicas das redes neurais, que dificilmente seriam
viveis na programao convencional.
Reconhecimento de Fala
Uma das aplicaes existentes em RNA a Mquina de Escrever Fontica, que utiliza o modelo SOM (Self-Organizing Map, de Kohonen) para
aprender fonemas, que posteriormente sero transformados em palavras, atravs de regras gramaticais aprendidas automaticamente [KOH 90]. O
aprendizado feito com amostras do espectro de curta durao (da gravao), que so apresentados rede na ordem natural da fala, o que contribui
para a auto-organizao na rede SOM.
Para a adaptao desta rede a um novo locutor, basta o ditado de 200 a 300 palavras para que seja reorganizado o aprendizado. Nesta fase, para
uma melhor fidelidade do aprendizado, podem ser usados modelos supervisionados como LVQ1, LVQ2 e LVQ3.
A transformao dos fonemas em palavras d-se atravs de uma gramtica denominada Contexto Dinamicamente Expansvel, onde podem ser
usadas regras ou produes para a correo de erros de transformao.
Identificao de Sinais de Radar
Utilizando os modelos perceptron e backpropagation, Sigillito & Hutton realizaram a classificao de sinais de radar [SIG 90]. O radar transmite
mltiplos padres de sinais para a ionosfera e aguarda o retorno. A funo da rede neural aqui classificar os sinais de retorno em bons ou maus. Os
testes apontaram o reconhecimento dos sinais de retorno ao nvel de um especialista humano.
Mercado Financeiro
A partir do modelo backpropagation, Zaremba construiu uma rede para anlise do mercado financeiro [ZAR 90]. Com base em valores mensais
de ativos, so definidos padres construdos a partir de janelas para cada 4 meses, com cinco valores por ms. Para cada ativo, h um aprendizado
e, portanto, um mapeamento de pesos especfico. A funo da rede neural nesta aplicao aprender as flutuaes do mercado em sua histria para
posterior reconhecimento de tendncias do mercado futuro. O xito deste tipo de aplicao depende enormemente dos dados ensinados, ou, em
outras palavras, do modelo adotado para o pr-processamento destes dados.
Composio Musical
Eberhart & Dobbins utilizaram uma variante do modelo backpropagation para realizar o reconhecimento de notas musicais, permitindo a
composio automtica [EBEa 90]. As notas so diferenciadas por sua freqncia e durao, permitindo sua codificao e treinamento da rede neural
com estes padres. A representao das notas pode-se dar por valorao direta, onde cada nota possui um valor, ou por transio, onde se ensina
para a rede uma transio de notas, exigindo assim um conjunto harmonioso de entrada para um reconhecimento preciso. Para esta ltima forma, cada
uma das sadas da rede um conjunto de notas que faro a composio final.

4.6. Modelos
4.6.1 Classificao
Apesar de no haver uma norma taxonmica para os modelos de redes neurais, h diferenas claras entre eles [LIP 87] [KOH 90]. Assim,
podemos realizar uma distino entre os modelos atravs de suas caractersticas bsicas, como o tipo de entradas , a forma de conexo e o tipo de
aprendizado .
Por tipos de entrada entendemos a entrada ser binria ou intervalar:
members.tripod.com/~the_dark_ages/rna.htm

13/22

23/03/13

Inteligncia Artificial

Chamamos de binrios aqueles modelos que aceitam entradas discretas, ou seja, somente na forma de 0 e 1. Neste caso, encontram-se
modelos como o de Hopield e ART; os intervalares so os que aceitam qualquer valor numrico como entrada (forma contnua). Estes so modelos
como o Backpropagation e Kohonen.
Por forma de conexo definimos a maneira como os elementos da rede esto conectados e, por conseguinte, como o modelo matemtico
representa a transmisso dos sinais na rede. H trs formas de conexo:
alimentao frente , onde os sinais de entrada so simplesmente transformados em sinais de sada;
retro-alimentao , no qual os sinais ficam sendo alterados em diversas transies de estado, sendo a sada tambm alimentadora da entrada;
competitiva , que realiza a interao lateral dos sinais recebidos na entrada entre os elementos dentro de uma zona de vizinhana.
O tipo de aprendizado (treinamento) refere-se existncia ou no de um sinal de sada pr-definido para a rede:
No aprendizado supervisionado , h uma definio sobre qual a sada que se deseja para a rede, o que leva a forar o ajuste dos pesos de
modo a representar o sinal desejado; por outro lado, h o auto-aprendizado (no-supervisionado), que limita-se a fazer uma representao da
distribuio de probabilidade dos padres de entrada na rede. Este tipo de treinamento est intimamente ligado com a conexo competitiva.
Tendo uma viso taxonmica dos modelos, melhor nos situaremos nos modelos que veremos a seguir. Na figura 8 encontram-se as classificaes
que foram citadas anteriormente.

Figura 8. Relaes : classificaes para modelos de redes neurais.


Essas classificaes no so definies estticas, elas so apenas um elemento de auxlio na compreenso das caractersticas dos modelos mais
comumente usados na atualidade. E so estes modelos que veremos a seguir.
4.6.2. Perceptron / Adaline
Caractersticas
Possui entrada intervalar, aprendizado supervisionado e alimentao frente.
Utiliza o Combinador Adaptativo Linear , onde a sada de um elemento processador (ep ) a combinao linear das entradas [WID 90].
Estas so um vetor que multiplicado por pesos pr-existentes no ep , assumindo a forma

onde pi um elemento do vetor de pesos, ei um elemento do vetor de entradas, S a sada do ep e t o nmero da amostra (de entrada).
Possui como regra de adaptao dos pesos, o algoritmo perceptron ou
-LMS (tambm conhecido como adaline ). A diferena entre
ambos est na forma do clculo. A regra perceptron de atualizao de pesos tem a seguinte formulao:

onde

o coeficiente de aprendizado e

o erro da sada quantizada do ep

A sada quantizada atravs da funo de limiar aplicada sada. O erro tem a forma:

ou seja, o erro fruto da aplicao da funo de limiar sobre a diferena entre a sada desejada d e a resultante S
A sada desejada o valor -1 ou 1 que se espera como resultado do treinamento.

members.tripod.com/~the_dark_ages/rna.htm

14/22

23/03/13

Inteligncia Artificial

-LMS possui como diferencial a frmula de ajuste de pesos e do erro. A atualizao de pesos da forma:

e o erro passa a ter uma forma sem quantizao:

Ambas as regras necessitam a sada quantizada Sq .


Topologia
A figura 9 apresenta um simples ep segundo as frmulas do perceptron e
-LMS discutidas anteriormente. O ep recebe o padro
representado no vetor E , que multiplicado pelo vetor de pesos proveniente da Regra de Adaptao . O clculo resultante somado, perfazendo
assim a soma ponderada , que a sada no-quantizada S , utilizada na regra -LMS. A sada quantizada representada pelo Sq , utilizada na regra
perceptron. Ambas as regras calculam os erros a partir da resposta desejada d .

Figura 9. Topologia : combinador adaptativo linear.


Cada um desses elementos pode ser combinado com outros formando uma rede camadas, ampliando a capacidade de armazenamento de
padres, como mostra a figura 10. Observe que os nodos iniciais no so elementos de processamento, mas to somente distribuidores dos sinais de
entrada para todos os elementos de processamento.

Figura 10. Rede : diversos elementos processadores conectados.


Reunindo diversos nodos numa rede, possvel a caracterizao de padres com mais valores ou em maior quantidade. A sada de um ep
conectada com a entrada de outro, distribuindo o poder de processamento e armazenamento dos padres.
Algoritmo
1 - Inicialize os pesos e o coeficiente de limiar com valores randmicos e dentro do intervalo (0;1]. O coeficiente de limiar aqui utilizado para
ajuste interno da funo de limiar definida. Como funo limiar, neste caso, utilizada a hard-limiter .
2 - Apresente o padro de entrada, na forma do vetor E , e a sada desejada d para o padro.
3 - Calcule a sada:

4 - Se for a regra perceptron, aplica-se a funo limiar:


Sq(t) = flim(S(t))
5 - A atualizao de pesos segue as regras que j foram apresentadas:
para o perceptron:
members.tripod.com/~the_dark_ages/rna.htm

15/22

23/03/13

para o

Inteligncia Artificial

-LMS:

6 - Voltar ao passo 2 at que a sada quantizada Sq esteja respondendo corretamente com a sada desejada d .
Uso
Aprendizado
Para realizar o treinamento (aprendizado) de um padro, necessrio primeiramente pass-lo para a forma de 1 e -1 . comum encontrarmos
arquivos de padres em binrios, resultantes, por exemplo, de processamento de sinais digitais. Cada 0 do padro binrio deve ser colocado na forma
de -1 para que no hajam erros na execuo das equaes do algoritmo. Caso o padro seja contnuo, este processamento torna-se desnecessrio.
A forma em que so apresentados os padres tambm de grande importncia. Se h mais de um, devem ser apresentados aleatoriamente, ou
de forma alternada. Nunca se deve treinar um padro para somente depois treinar outro, isso deixaria os pesos da rede sempre tendendo a apenas um
dos padres.
Um outro passo o ajuste dos parmetros do algoritmo, que so o coeficiente de aprendizado
e o coeficiente de limiar
. O coeficiente
determina o intervalo de ajuste dos pesos, quanto maior seu valor, maior ser a diferena dos valores de uma iterao a outra. Quanto maior o
valor, maior o intervalo de ajuste, e portanto maior ser a rapidez de convergncia. Por outro lado, se o valor de for sempre alto, poder ocorrer o
caso do sistema nunca chegar numa convergncia, entrando em lao infinito. Isto porque os valores nunca sero pequenos o suficiente para garantir
uma sada confivel, bem prxima a 0 ou a 1, dependendo da sada desejada. O valor de
pode ser arbitrado (e, de certa forma, ter que ser
inicialmente arbitrado) pelo projetista da aplicao, devendo ficar dentro do intervalo [0.01;1.0]. O coeficiente poder ser varivel, seguindo uma
funo decrescente, partindo de um valor maior para um menor quando prximo da convergncia.
J o coeficiente de limiar
pode seguir um ajuste conjuntamente com os pesos ou ser definido pelo projetista. Ele responsvel pelo
deslocamento, na funo limiar, do ponto central de deciso da quantizao da sada. Em outras palavras, um coeficiente
valendo 0 significa que
no h deslocamento em relao ao ponto onde a funo limiar cruza o eixo das abscissas (veja figura 3).
Enquanto o eixo das abscissas indica a sada linear S resultante da soma ponderada, o eixo das ordenadas corresponde sada quantizada Sq , e
o coeficiente de limiar
determina qual valor ser o limite para a transferncia de -1 para 1, ou vice-versa. Por exemplo, se
for definido como
sendo 0,5, os valores de sada abaixo (ou igual) a este coeficiente passaro a valer -1, caso contrrio 1.
Uma vez realizado o ajuste dos parmetros, obtm-se, aps um determinado nmero de iteraes, uma sada como a desejada.
Reconhecimento
Para efetuar o reconhecimento de um padro, ou seja, saber se ele pertence ou no ao conjunto de padres treinados, basta que o algoritmo seja
executado uma vez, sem o ajuste de pesos. Para tanto, apresenta-se o padro de teste na entrada e verifica-se se a sada quantizada corresponde a
algum padro treinado.
Vantagens e Desvantagens
A grande vantagem da implementao do algoritmo perceptron/adaline a simplicidade. So poucos parmetros a ajustar e o padro de entrada
no necessita de um pr-processamento muito elaborado, dependendo da aplicao.
Por outro lado, ele tem sua aplicao restrita a padres no muito complexos, que sejam linearmente separveis (veja captulo 1).
Aplicaes
A utilizao do perceptron/adaline est restrita quantidade de padres envolvidos e sua complexidade. Ele pode ser usado em reconhecimento
de sinais digitais ou, quando utilizado em grandes redes, pode ser aplicado caracterizao de apenas um padro por neurnio.

4.6.3 Backpropagation
Caractersticas
um modelo com entrada intervalar, aprendizado supervisionado e com alimentao frente.
O backpropagation deriva-se do modelo perceptron/adaline [RUM 86] [WID 90]. Seus neurnios so compostos por trs ou mais camadas de
adalines interconectados. Estes adalines tm uma diferena fundamental: eles utilizam uma funo do tipo sigmoid como funo de limiar.
A funo de limiar do tipo sigmoid uma vez que necessria uma funo no-linear para ampliar o potencial de classificao de um modelo.
Essa variao foi a caracterstica que permitiu a este e outros modelos fazer representaes complexas, como o aprendizado da funo lgica XOR
(ver captulo 1). A descrio da funo sigmoid encontra-se na seo 1.2.2.
members.tripod.com/~the_dark_ages/rna.htm

16/22

23/03/13

Inteligncia Artificial

Neste modelo, o erro obtido na sada transferido para as camadas intermedirias. Da o nome retropropagao (backpropagation). Isso se d
pela necessidade de ajuste dos neurnios que no tm contato com a sada, necessitando, assim, de algum parmetro para atualizao dos pesos.
O clculo do erro comea na ltima camada, ele tem a forma:

onde S a sada linear e d a sada desejada. A partir deste erro so ajustados os pesos da ltima camada:

onde P o vetor de pesos,

o coeficiente de aprendizado e En o vetor resultante da sada da camada anterior.

O erro da(s) camada(s) intermediria(s) feito a partir do erro da camada de sada:

onde En o vetor resultante da sada da camada anterior at esta camada intermediria; k o nmero de nodos conectados a seguir do atual;
k o erro do nodo k; p o peso correspondente conexo do nodo i atual com o nodo k. A partir deste erro, so calculados os pesos:

onde

um coeficiente de acelerao de convergncia denominado momentum .

Topologia

Figura 11. Multicamada : a topologia backpropagation uma ampliao do modelo perceptron/adaline.


Como no modelo perceptron/adaline, ocorre uma camada de entrada para recepo dos valores. A novidade a possibilidade de uma ou mais
camadas intemedirias (figura 11).
Algoritmo
1 - Inicializar os pesos e coeficientes de limiar com valores pequenos e randmicos.
2 - Apresentar o vetor de entrada (padro) e a sada desejada.
3 - Calcule a sada:

4 - Aplique a funo sigmoid vista anteriormente:


Sq(t) = sgm(S(t))
5 - Calcule o erro da ltima camada:

e atualize os pesos :

6 - Calcule os erros da(s) camada(s) intermediria(s):

e ajuste os pesos:

7 - Voltar ao passo 2 at que atinja um valor prximo ao da sada desejada.


members.tripod.com/~the_dark_ages/rna.htm

17/22

23/03/13

Inteligncia Artificial

Uso
Aprendizado
A preparao do padro de entrada segue os mesmos princpios do perceptron/adaline: no h muito pr-processamento, dependendo da
aplicao desejada. A aplicao tambm define o nmero de neurnios na camada intermediria. Normalmente utiliza-se um neurnio para cada classe
de padro. Por exemplo, caso queira-se treinar o alfabeto, basta um neurnio por letra, mesmo que haja um nmero expressivo de padres distintos
(amostras) por letra. Tambm comum a utilizao de apenas uma camada intermediria para a grande maioria das aplicaes. A seqncia de
apresentao dos padres continua a mesma do perceptron/adaline: aleatria ou alternada.
Aps definidos os padres e a topologia, so necessrias algumas iteraes de treinamento para que se possa definir os parmetros. Como no
perceptron/adaline,
e
podem ser definidos pelo projetista, assim como serem funes variveis. O incremento deste modelo est no
momentum
. Este coeficiente permite a acelerao do processo de convergncia. Seu valor fica no intervalo [0;1].
O treinamento se concretizar quando as sadas desejadas estiverem numa margem segura de proximidade sada da funo sigmoid. Esta
aproximao existe devido dificuldade de se chegar ao valor exato da sada deseja e, ento, estima-se uma margem de erro para que se alcance a
convergncia.
Para a maioria das aplicaes so necessrias muitas iteraes at a convergncia. Isso tambm dependente de um bom ajuste dos coeficientes
envolvidos.
Reconhecimento
Como no perceptron/adaline, o reconhecimento apenas uma iterao do algoritmo para verificao da sada. Dado o padro que se quer
reconhecer, realiza-se uma iterao do algoritmo, excetuando-se obviamente o ajuste de pesos, e comparando a sada do sigmoid com as sadas
desejadas aprendidas. Do resultado desta comparao sabe-se se a qual classe o padro pertence.
Vantagens e Desvantagens
A grande vantagem deste modelo sua capacidade de abranger as mais variadas classificaes de padres, podendo ser utilizado numa enorme
gama de aplicaes (veja a seguir).
Por outro lado, as desvantagens tambm so muitas. Em geral, o tempo de treinamento extremamente longo para a maioria das aplicaes de
uso prtico, como o reconhecimento de caracteres. H tambm certos tipos de padres, como os envolvidos em sries temporais, que demandam
uma grande necessidade de pr-processamento, dada a complexidade da anlise e classificao dos padres em questo.
Aplicaes
O backpropagation utilizado para reconhecimento de caracteres, composio musical, sries temporais, reconhecimento de sinais em geral,
treinamento de robs, etc. Alguns destes exemplos foram citados no captulo introdutrio.

4.6.4 Hopfield
Caractersticas
caracterizada por ser do tipo binria, de auto-aprendizado e com retro-alimentao.
baseada no conceito de energia da rede, onde esta proporcional troca de estados da rede. Isto , quanto maior for a oscilao entre um
estado e outro na sada, maior ser a energia. Portanto, a fase de reconhecimento tem por objetivo minimizar a quantidade de energia de maneira que a
rede convirja para um nico estado na sada [WAS 89].
Topologia

Figura 12. Retro-alimentao : topologia de Hopfield, com trs nodos.


Como podemos ver pela figura 12, h uma retro-alimentao que vai da sada de cada neurnio para a entrada de todos os demais, exceto a
sua prpria entrada .
Algoritmo

members.tripod.com/~the_dark_ages/rna.htm

18/22

23/03/13

Inteligncia Artificial

1- Inicializar os pesos das conexes

onde P o vetor de pesos da conexo entre o nodo i e o nodo j, e is o elemento de entrada do nodo i contendo o padro s e M o nmero de
padres a treinar. Os limiares das unidades zero.
2 - Inicializar a rede com um padro de treinamento:
S(0) = E(0)
onde S(0) a sada do nodo i no tempo 0 e E(0) o vetor de entradas.
3 - Iteragir at convergir

A funo flim a funo de limiar hard-limiter e N o nmero de nodos (neurnios).


4 - Volte ao passo 2 e repita a iterao at que as sadas dos nodos permanea inalteradas.
Uso
Aprendizado
Pelo fato da rede de Hopfield ser do tipo binria, a primeira atitude a ser tomada antes do aprendizado e tambm da fase de reconhecimento da
rede, converter os valores binrios (0,1) em bipolares (-1,1), para que o valor 0 no cause problemas quanto o clculo das sadas.
Aps, os padres exemplares, isto , aqueles com que a rede ser treinada e nos quais a rede dever convergir, so inseridos na entrada
aleatoriamente. A fase de treinamento ir se encerrar a partir do instante que, no importando o padro exemplar posto na entrada, a rede
devolver o mesmo padro na sada ao longo de sucessivas iteraes . Portanto, ao contrrio de outras redes como Backpropagation e Kohonen,
onde pode-se determinar uma condio de parada na fase de aprendizado, no modelo de Hopfield isto no acontece, pois neste o treinamento s
encerrado aps a rede convergir para um nico estado na sada.
Reconhecimento
Na etapa de reconhecimento, padres diversos sero inseridos na rede e para cada um deles a rede tentar convergir para o padro exemplar
que melhor se aproxima deste. O reconhecimento poder no convergir em virtude das limitaes do modelo explicadas a seguir.
Vantagens e Desvantagens
A rede de Hopfield tm como vantagem o fato de ser adequada quando se deseja utilizar uma memria associativa, isto , uma memria que
armazena diversos padres ao mesmo tempo e que cada um deles pode ser referenciado dependendo com qual deles melhor se assemelha o padro
de entrada .
Este modelo tem duas desvantagens, ou em outras palavras, duas restries a fim de que possibilite uma boa capacidade de reconhecimento sem
redundncias. Uma delas que o nmero de padres a ser ensinado, ou nmero de padres exemplares, dever ser no mximo 15% do total de
nodos da rede. E um outro ponto com o qual deve-se ter cuidado no permitir que um padro exemplar compartilhe muitos bits com um outro
padro, pois isto pode confundir a rede.
Aplicaes
Uma das muitas aplicaes do modelo de Hopfield que pode ser citado um conversor Analgico-Digital. Neste, os amplificadores funcionam
como se fossem os neurnios da rede e os resistores como os pesos. Todas as sadas da rede so trocadas no incio de intervalos discretos chamados
de poca. No incio de cada poca, a soma das entradas de cada neurnio calculada, e se ultrapassar o limiar previamente definido, a sada ser 1,
caso contrrio, ser 0. O objetivo selecionar os resistores a fim de que um aumento contnuo de uma tenso X aplicada a uma entrada produza um
conjunto de quatro sadas, cujo valor em binrio corresponderia ao nvel da tenso de entrada.

4.6.5 Kohonen
Caractersticas
Possui auto-aprendizado, entrada intervalar e conexo competitiva.
No h propriamente um reconhecimento de padro como em outros modelos, mas h a classificao de um padro junto com outros que tm
caractersticas semelhantes, formando classes. Estas classes so organizadas num mapa, onde se pode observar a distribuio dos padres. Desta
maneira, no instante em que um padro inserido na rede, esta o coloca na classe onde melhor o padro se adequa, em funo das suas
caractersticas.
members.tripod.com/~the_dark_ages/rna.htm

19/22

23/03/13

Inteligncia Artificial

Um outro aspecto importante que o modelo de Kohonen chamado de biologicamente plausvel. No crtex auditivo, por exemplo, existem
conjuntos de clulas que s reagem a determinados impulsos ou freqncias, enquanto a outros no [EBE 90]. No modelo ocorre o mesmo, onde um
padro ao ser reconhecido faz com que um ou somente alguns neurnios de sada sejam ativados (aqueles que mais se assemelham ao padro
inserido) enquanto outros no.
Este tipo de rede usado quando se deseja, por exemplo, reconhecer diversos padres que possuam alguma relao entre si, como
reconhecimento de voz, que ser explicado posteriormente na seo de aplicaes.
Topologia

Figura 13. Topologia: rede Kohonen de duas entradas e quatro sadas.


A rede Kohonen (veja figura 13) composta por um nmero de entradas correspondente ao tamanho dos padres e um conjunto de neurnios
de sada, sendo que cada padro a ser reconhecido dever ter, no mnimo, um neurnio de sada correspondente. Isto , se for necessria a distino
entre 10 padres, a quantidade mnima na camada de sada so 10 neurnios.
Algoritmo
1- Inicializao dos pesos da rede com valores baixos (0.01 a 0.1) escolhidos aleatoriamente. Ajuste inicial do raio de vizinhana, que poder
comear com a metade do dimetro da rede e ir diminuindo linearmente.
2 - Insero do padro de entrada.
3 - Clculo das distncias de cada sada:

onde dj distncia entre a sada do nodo j com a entrada, N nmero de entradas, ei(t) o vetor de entrada no tempo t e pij(t) o peso da
conexo do neurnio de entrada i para o neurnio j no tempo t.
4 - Seleo da menor distncia
5 - Atualizao dos pesos do neurnio com a menor distncia (neurnio vencedor) e seus vizinhos, definidos pelo raio de vizinhana. Isto feito
segundo a frmula :

onde

(t) - coeficiente de aprendizado no tempo t. O coeficiente

(t) poder variar desta maneira:

(t) = 0.9 ( 1 - t /1000)


Os neurnios que no pertencem vizinhana do vencedor no devem ter seus pesos atualizados .
6 - Repetir a partir do passo 2
Uso
Aprendizado
Este modelo extremamente dependente da forma com a qual os padres de entrada esto definidos. Isso porque o modelo apenas far uma
distribuio dos padres na rede. Se estes padres no possuem uma codificao numrica uniformemente distribuda, eles podero entrar em conflito,
no representando o que se deseja. Para tanto, so necessrios muitos ajustes iniciais at encontrar-se um pr-processamento adequado aplicao
pretendida.
Aps um padro ser inserido na rede, calculada a distncia euclidiana, respectiva a cada neurnio de sada, e, aps, verifica-se aquele que
alcanou o maior valor. Este neurnio levar o nome de neurnio vencedor , e ter o peso da sua conexo alterada. Alm deste neurnio, outros
neurnios de sada podero tambm ter seus pesos alterados. Isto porque antes de ser realizado o treinamento, ajusta-se uma varivel chamada de
raio de vizinhana
(que poder ser alterado durante o treinamento). O raio
indica a qual distncia mnima do neurnio vencedor um
determinado neurnio dever estar para ter seu peso alterado. Este clculo feito atravs da comparao da diferena entre a distncia do neurnio
members.tripod.com/~the_dark_ages/rna.htm

20/22

23/03/13

Inteligncia Artificial

vencedor e cada um dos demais, podendo esta distncia ser vista como um mapa, como uma separao fsica entre os neurnios.
Reconhecimento
Depois de um determinado nmero de iteraes, os pesos da rede estaro ajustados de maneira a poder classificar adequadamente os padres a
serem reconhecidos. Assim, ao ser inserido um padro, um determinado neurnio de sada se ativar, indicando aquele que tiver a menor distncia em
relao a sua entrada. Desta forma, a rede no ir exibir um resultado exato de reconhecimento, mas sim, ir classificar o padro conforme as suas
caractersticas.
Vantagens e Desvantagens
O modelo de Kohonen pode ser usado nas diversas aplicaes onde comumente se utilizam outros modelos de redes neurais, como
reconhecimento de padres, robtica, processamento de sinais. Porm, ele se torna eficiente [KOH 90] naquelas aplicaes em que os padres
possuam alguma relao entre si, podendo desta forma, serem classificados. Um exemplo que pode ser citado o de reconhecimento da fala, citado
no item referente a aplicaes.
A rede possui como desvantagens o fato de ser um pouco complexa em relao aos outros modelos, pois as variveis como raio de vizinhana e
coeficiente de aprendizado devem ser ajustados adequadamente para que o aprendizado seja realizado com sucesso. Alm disso, o nmero mnimo de
iteraes necessrios para o treinamento de 500 vezes o nmero de nodos de sada [KOH 90].
Aplicaes
Como exemplo de aplicao pode ser citado a mquina de escrever fontica, ou Phonetic Typewriter . O objetivo desta rede , ao ser
pronunciada uma palavra, no caso no idioma finlands, a rede ir informar os provveis fonemas constituintes daquela palavra. Para tanto, a rede
treinada com os fonemas do idioma, onde estes, dependendo de suas caractersticas, so agrupados com outros que possuem caractersticas similares.
Assim, a cada fonema pronunciado ser ativado um determinado neurnio de sada correspondente.

4.6.6. ART
Caractersticas
A Teoria da Adaptao Ressonante (Adaptive Resonance Theory) resultou num classificador projetado por Carpenter e Grossberg que possui
entrada binria, conexo retro-alimentada e aprendizado no-supervisionado [LIP 87].
A idia de armazenamento dos padres tem semelhanas com o modelo de Kohonen, uma vez que h a distino de zonas, a comparao entre
as distncias vetoriais das somas ponderadas, e a escolha de um neurnio vencedor.
Topologia

Figura 14. ART : uma topologia com conexes retro-alimentadas.


Na figura 14, v-se que h a retro-propagao dos sinais, o que permite ao ART a seleo dos neurnios que melhor representariam um dado
padro de entrada. A interconexo entre os dois nodos de sada permite a inibio lateral entre eles, visando a definio do valor mximo de sada.
Algoritmo
1 - Inicializar contadores:
pesos de conexes da entrada para a sada recebem
fij(0) = 1
pesos de conexes da sada para a entrada recebem
rij(0) = 1 / (1 + N)
onde i o nodo de entrada e 0 <= i <= N -1, j o nodo de sada e 0 <= j <= M -1, N o nmero de nodos de entrada e M o nmero de
nodos de sada. Ainda deve-se dar um valor ao coeficiente de limiar
, que serve para verificar se a soma ponderada da entrada est prxima aos
pesos estabelecidos at o momento. Este coeficiente tem um valor no intervalo [0;1].
2 - Apresentar padro de entrada.
3 - Calcular somas ponderadas dos nodos de entrada:

members.tripod.com/~the_dark_ages/rna.htm

21/22

23/03/13

Inteligncia Artificial

onde t o lao da iterao do algoritmo e e o componente do vetor de entrada.


4 - Selecionar o neurnio vencedor atravs da comparao das somas ponderadas, ou seja, o que tem maior valor ser o vencedor.
5 - Realizar o teste de limiar:
se a diviso entre a distncia euclidiana entre os pesos F da entrada para a sada do neurnio vencedor e a entrada E e o mdulo vetorial da
entrada for maior que o limiar:
||F . E|| / ||E|| >
ento continue, caso contrrio, volte ao passo 3.
A distncia entre F e E calculada na forma:

onde v o neurnio vencedor, e o mdulo de E

6 - Ajustar os pesos do neurnio vencedor v :


primeiro os pesos da entrada para a sada
fiv(t+1) = fiv(t) ei
e depois da sada para a entrada:

7 - Volte ao passo 2.
Uso
Aprendizado
O aprendizado do modelo ART bem distinto dos modelos vistos anteriormente, apenas com algumas semelhanas com o de Hopfield e o de
Kohonen. Assemelha-se ao de Kohonen em sua forma de distribuio dos pesos na rede atravs da seleo de um neurnio vencedor, com a
diferena de que no ART apenas o vencedor atualizado, no havendo a atualizao da vizinhana, que caracteriza o aprendizado competitivo.
Quanto semelhana ao Hopfield, nota-se que o padro a aprender confunde-se com o a reconhecer, uma vez que h iteraes para ambos.
O aprendizado ART no necessita a transformao da entrada binria (0 e 1) em bivalente (-1 e 1), como em outros modelos. H somente um
parmetro a definir, o coeficiente de limiar , tambm chamado de limiar de vigilncia . Como nos outros modelos, este coeficiente determina se um
padro est ou no treinado ou, neste caso, adaptado aos padres atuais.
Reconhecimento
O reconhecimento confunde-se com o aprendizado, uma vez que este um modelo no-supervisionado que incorpora padres desconhecidos e
adapta padres semelhantes.
Vantagens e Desvantagens
O modelo ART possui a facilidade de no ter necessidade de um aprendizado prvio, podendo adaptar-se de acordo com a necessidade. Por
outro lado, este modelo muito sensvel a padres distorcidos, no podendo fazer uma boa diferenciao entre padres semelhantes, limitando, assim,
em muito suas aplicaes.
Aplicaes
Utiliza-se o ART para reconhecimento de imagens, mais comumente para reconhecimento de caracteres.

Curso de TI Online
www.treinaweb.com.br
Melhore seus conhecimentos com mais de 120 cursos com foco em TI.

members.tripod.com/~the_dark_ages/rna.htm

22/22

You might also like