inteligência artificial

22
 23/03/13 Intel i gênci a Arti fi ci al members.tripod.com/~the_dark_ages/rna.htm 1/22  4.  Redes Neurais Artificiais 4.1.  Histórico 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 neurônio biológico, com o objetivo de criar um modelo matemático para este. As conclusões desta pesquisa foram de extrema importância para a futura implementação computacional do neurônio formal: · atividade do neurônio é tudo ou nada ; · atividade de qualquer sinapse inibitória previne a excitação do neurônio naquele instante. A primeira afirmação significa que o neurônio estará no estado ativado se a sua saída ultrapassar um valor limite, caso contrário, ficará no estado de repouso (este princípio originou a função limiar). Entende-se por estado ativado transmitir a saída (transmissão) a outros neurônios da rede. Já a segunda afirmação teve importância na construção do neurônio formal a partir do conceito de pesos, ou seja, cada entrada do neurônio terá um valor associado; caso este seja positivo, tenderá a excitar a célula; e caso ele seja negativo, tenderá a inibir. Em 1949, Donald O. Hebb no livro The Organization of Behavior  definiu o conceito de atualização de pesos sinápticos. Hebb deixou com seu estudo quatro pontos importantes: · numa rede neural a informação é armazenada nos pesos; · o coeficiente de aprendizagem é proporcional ao  produ to dos va l ores de ati vação do neurônio; · os pesos são simétricos (o peso da conexão de A  para B é igual ao da de B p ara A); · quando ocorre o aprendizado os pesos são altera dos. Porém, apesar de todos os estudos feitos até então, o p rimeiro modelo de rede neur  al 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 saída. A cada entrada existe um peso relacionado, sendo que o valor de saída será a soma dos produtos de cada entrada pelo seu respectivo peso. Como definido por McCullock e Pitts, o neur  ônio possui um co mportamento tudo ou nada , logo, é necessário estabelecer uma função limiar que defina quando o neurônio estará ativo ou em repouso. O trabalho de Rosenblatt tam bém estabeleceu a base para o s algori tmos de trein amen to de model os não supervisi onados co mo o de K ohonen e  para m odelos su perv i si on ados com o o backpr opag ati on . Um m odel o é dito su perv i si on ado qu ando trei na -se um mo del o para um a saída pré- determinada, que define um dado padrão de entrada. Apesar do impacto que teve o perceptron na comunidade de Inteligência Artificial, este modelo foi fortemente criticado no livro de Minsky e Papert, Perceptron s . No livro os autores citam o exemplo de que o Percetron com uma simples camada não poderia simular o comportamento de uma simples função XOR (ou-exclusivo) [WAS 89]. Após a publicação desta obra, iniciou o período chamado de anos negros das redes neurais,  pel o fat o dest a ter desen coraj ado nov as pesqu i sas e desesti m u l ado o estu do mai s prof un do deste campo. A seg ui r seg ue u m a breve explicação do  probl ema do XOR. O perceptron é capaz de aprender tudo aquilo que ele consegue representar [WAS 89]; a partir disso surge a questão: o que ele consegue representar? O perceptron com somente duas camadas consegue representar toda função linearmente separável. Suponhamos um plano xoy onde x e y são as entradas da rede e o ponto cartesiano (x,y) é o valor da respectiva saída: Figura 1. Função XOR : uma representação gráfica. Como é possível perceber na figura 1, não podemos traçar uma única reta (função linear) tal que divida o plano de maneira que as saídas 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 criação de uma camada intermediária na rede e graficamente com uma estrutura em três (ou mais) dimensões.  Close Ad

Upload: vinicius-daas

Post on 07-Oct-2015

212 views

Category:

Documents


0 download

DESCRIPTION

Descrição das caracteristicas basicas de RN

TRANSCRIPT

  • 23/03/13 Inteligncia Artificial

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

    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.

    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 Rosenblattem 1958.

    O perceptron uma rede neural simples: constitui-se de uma camada de entrada e uma camada de sada. A cada entrada existe um pesorelacionado, 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 emrepouso.

    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 pr-

    determinada, 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 doproblema do XOR.

    O perceptron capaz de aprender tudo aquilo que ele consegue representar [WAS 89]; a partir disso surge a questo: o que ele conseguerepresentar? 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 camadaintermediria na rede e graficamente com uma estrutura em trs (ou mais) dimenses.

    Close Ad

  • 23/03/13 Inteligncia Artificial

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

    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 aosseus 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 aprendizadono-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 qualtransforma 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 fsicoJohn 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 estaretro-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 revoluotanto 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

  • 23/03/13 Inteligncia Artificial

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

    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 algumapopulao 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 evoluoseja 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

  • 23/03/13 Inteligncia Artificial

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

    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

  • 23/03/13 Inteligncia Artificial

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

    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 aptidorelativa 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 outrastcnicas 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 restringenteforem 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.

  • 23/03/13 Inteligncia Artificial

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

    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 oresultado 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

  • 23/03/13 Inteligncia Artificial

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

    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

  • 23/03/13 Inteligncia Artificial

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

    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 otreinamento.

    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:

  • 23/03/13 Inteligncia Artificial

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

    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 no-

    supervisionadas.

    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 auto-

    ajustar 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.

  • 23/03/13 Inteligncia Artificial

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

    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,

  • 23/03/13 Inteligncia Artificial

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

    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 e 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:

  • 23/03/13 Inteligncia Artificial

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

    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;

  • 23/03/13 Inteligncia Artificial

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

    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:

  • 23/03/13 Inteligncia Artificial

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

    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.

  • 23/03/13 Inteligncia Artificial

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

    O -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:

  • 23/03/13 Inteligncia Artificial

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

    para o -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.

  • 23/03/13 Inteligncia Artificial

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

    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.

  • 23/03/13 Inteligncia Artificial

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

    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

  • 23/03/13 Inteligncia Artificial

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

    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.

  • 23/03/13 Inteligncia Artificial

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

    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

  • 23/03/13 Inteligncia Artificial

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

    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