Apostila_-_IntroduçãoAosSistemasInteligentes

download Apostila_-_IntroduçãoAosSistemasInteligentes

of 57

Transcript of Apostila_-_IntroduçãoAosSistemasInteligentes

  • 8/8/2019 Apostila_-_IntroduoAosSistemasInteligentes

    1/57

    Sistemas Inteligentes

    Alexandre Romariz

    24 de Agosto de 2007

  • 8/8/2019 Apostila_-_IntroduoAosSistemasInteligentes

    2/57

  • 8/8/2019 Apostila_-_IntroduoAosSistemasInteligentes

    3/57

    CONTEDO

    3.3 Aprendizado por reforo . . . . . . . . . . . . . . . . . . . . . . 36

    3.4 Redes de Kohonen e sistemas auto-organizveis . . . . . . . . . . 37

    4 Sistemas nebulosos 40

    4.1 Introduo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 404.2 Lgica nebulosa . . . . . . . . . . . . . . . . . . . . . . . . . . . 424.3 Regras nebulosas e possibilidade . . . . . . . . . . . . . . . . . . 424.4 Sada de uma regra nebulosa . . . . . . . . . . . . . . . . . . . . 434.5 Dificuldades e Aplicaes Prticas . . . . . . . . . . . . . . . . . 444.6 Redes Neurais e Lgica Nebulosa . . . . . . . . . . . . . . . . . 45

    5 Algoritmos Genticos 47

    5.1 Introduo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 475.2 Elementos Principais e Exemplo . . . . . . . . . . . . . . . . . . 485.3 Aplicaes tpicas . . . . . . . . . . . . . . . . . . . . . . . . . . 50

    5.3.1 Evoluindo tabelas de transio em autmatos celulares . . 505.3.2 Predio de valores . . . . . . . . . . . . . . . . . . . . . 525.3.3 Evoluindo Redes Neurais . . . . . . . . . . . . . . . . . . 52

    5.4 Questes de implementao . . . . . . . . . . . . . . . . . . . . 535.4.1 Quando usar . . . . . . . . . . . . . . . . . . . . . . . . 535.4.2 Codificao . . . . . . . . . . . . . . . . . . . . . . . . . 545.4.3 Seleo . . . . . . . . . . . . . . . . . . . . . . . . . . . 54

    Sistemas Inteligentes 3

  • 8/8/2019 Apostila_-_IntroduoAosSistemasInteligentes

    4/57

    Captulo 1

    Sistemas Inteligentes e Redes

    Neurais

    1.1 Introduo aos Sistemas Inteligentes

    1.1.1 Motivao

    O princpio bsico de funcionamento dos computadores digitais no se distancioudo proposto na dcada de 40. Houve um gigantesco avano tecnolgico, mas aarquitetura do computador permanece basicamente a mesma. H diferenas muitoacentuadas entre esta arquitetura e o que parece ser a maneira humana de racioci-nar, diferenas que no foram atenuadas por mudanas na tecnologia empregada.

    Para que um computador possa ser usado na soluo de uma classe espec-fica de problemas, um algoritmo geral de soluo para esta deve ser definido. Aatuao do computador limita-se execuo repetitiva dos passos do algoritmo,com rapidez e preciso. No h paralelo possvel com a capacidade humana debuscar criativamente solues para problemas novos, de aprender com os prprioserros, ou de buscar uma soluo aproximada para um problema complexo, comuso razovel de tempo e recursos. Alm disso, as linguagens compreendidas peloscomputadores esto muito longe da flexibilidade e robustez da linguagem natural.

    Tudo isso contribui para que classes de problemas, tratadas com facilidade poranimais, representem um grande desafio para os mais poderosos computadores.Como exemplos, podemos citar a interpretao de imagens, o controle motor e atomada de decises.

    A Inteligncia Artificial (IA), ou Inteligncia Computacional, rene tcnicasque buscam integrar aos sistemas de processamento caractersticas tpicas do com-portamento inteligente. A dificuldade em se encontrar uma definio consensualde IA e definir claramente seus limites reside no problema da definio do prprioconceito de inteligncia. Pode-se dizer que a capacidade de solucionar problemas

    4

  • 8/8/2019 Apostila_-_IntroduoAosSistemasInteligentes

    5/57

    1.2. INTRODUO S REDES NEURAIS

    relacionados percepo, interpretao, inferncia e tomada de decises, com

    elevado grau de auto-adaptao, define inteligncia no escopo de IA.

    1.1.2 A abordagem de Engenharia para I.A.

    Veremos a seguir que a histria da IA inclui muitas promessas no cumpridas decomportamento inteligente para as mquinas. Esta srie de relativos insucessos,associada polmica existente na questo da definio de inteligncia e sobre apossibilidade de mquinas exibirem verdadeira inteligncia resulta, de tempos emtempos, em uma violenta reao contrria a todo este campo de pesquisa.

    Mesmo entre os que se dedicam ao assunto, profundas diferenas entre con-

    cepes filosficas e polticas dividem a rea em escolas praticamente irreconci-liveis. Os pesquisadores que investigam as chamadas Redes Neurais Artificiais,por exemplo, enfatizam a capacidade de aprendizado de seus modelos de com-putao. J os que se dedicam chamada IA Clssica ou Simblica, estudandomecanismos inteligentes de manipular lgica e raciocnio em computadores, en-fatizam um processamento estruturado em regras pr-definidas. Independente dasvantagens tcnicas dessas diferentes abordagens, o que realmente torna estes doiscampos praticamente irreconciliveis muito mais a questo filosfica da impor-tncia relativa daquilo que nos inato e do que aprendemos, uma das discussesmais acaloradas da histria do pensamento.

    Neste minicurso, estas interessantes questes no sero abordadas. Discutire-mos especificamente as tcnicas conhecidas como Redes Neurais, Lgica fuzzy eAlgoritmos Genticos, interessados em possveis aplicaes em engenharia. Es-tas aplicaes se justificam porque parte dos problemas atacados por I.A. so degrande interesse nas reas de controle, otimizao e processamento de sinais, pro-blemas essenciais em engenharia.

    1.2 Introduo s Redes Neurais

    1.2.1 Definio e MotivaoRedes Neurais Artificiais (ou simplesmente Redes Neurais) so sistemas de pro-cessamento numrico, de inspirao biolgica, constitudos por um grande n-mero de processadores simples altamente interconectados, em uma arquiteturasde processamento inspiradas no sistema nervoso dos seres vivos. A idia princi-pal por trs desta abordagem a de que computaes complexas podem ser obti-das pela combinao de muitos processadores simples altamente interconectados,o que denominado conexionismo. Substitui-se, nesta abordagem, a arquiteturabaseada em um processador central por um sistema de Processamento Paralelo e

    Sistemas Inteligentes 5

  • 8/8/2019 Apostila_-_IntroduoAosSistemasInteligentes

    6/57

    CAPTULO 1. SISTEMAS INTELIGENTES E REDES NEURAIS

    a r t i d o

    a n c o

    P

    PFigura 1.1: No reconhecimento de padres, seres humanos no tm dificuldadede relacionar estmulos iguais a significados diferentes, dependendo do contexto.Na Figura, o P da palavra superior e o B da inferior so, na verdade, o mesmo

    smbolo. Adaptado de McClelland et al.[1].

    Distribudo, um dos nomes pelos quais os sistemas conexionistas so conhecidos.Caractersticas importantes dos processos cognitivos, como a capacidade de con-siderar simultaneamente mltiplas restries ou de combinar mltiplas fontes deconhecimento so representadas com naturalidade nesta arquitetura. Tais caracte-rsticas contribuem, por exemplo, para a rapidez e robustez do processo humanode reconhecimento de padres, como poder ser ilustrado na Figura 1.1.

    Outra caracterstica do comportamento inteligente que se torna mais facil-mente representada nesta abordagem a capacidade de generalizao. Os est-

    mulos complexos recebidos do mundo exterior por um sistema inteligente nuncase repetem exatamente. Torna-se fundamental para a operao nestas condiesutilizar-se o princpio segundo o qual estmulos semelhantes devem levar a com-portamento semelhante. Ao substituirmos o processamento de smbolos discretos(do tipo presente ou no presente) por padres de sada em processadores (fun-es contnuas), torna-se possvel reconhecer proximidade entre estmulos e dageneralizar a experincia existente.

    Certos sistemas conexionistas enfatizam tambm um novo ponto de vista parao processo de computao: o ponto de vista de sistema dinmico. Computar umasoluo corresponde a acompanhar a dinmica natural de um sistema que evolui

    com o tempo at seu ponto de equilbrio, onde as restries impostas estaro,dentro do possvel, obedecidas.

    Finalmente, o conexionismo nos prope uma mudana no nvel de anlisedo comportamento inteligente. Os modelos propostos trabalham com represen-taes distribudas, nas quais a cada conceito simblico corresponde um padrode ativao em um certo conjunto de unidades processadoras. O sinal de sadade um processador isolado no costuma representar um conceito claro, pelo que aabordagem conexionista conhecida tambm como subsimblica. O ideal cone-xionista demonstrar como os processos cognitivos conscientes e a manipulao

    Alexandre Romariz 6

  • 8/8/2019 Apostila_-_IntroduoAosSistemasInteligentes

    7/57

    1.2. INTRODUO S REDES NEURAIS

    Rede Neural Arquitetura Clssica

    Processamento paralelo e distri-budo

    Processamento centralizado,com grau varivel de parale-lismo

    Processamento numrico Processamento numrico e/ousimblico

    Aprendizado ProgramaoSujeita a erros Precisa, nas condies normais

    de operaoTolerante a falhas Falhas catastrficasAplicada quando apenas exem-

    plos so conhecidos

    Aplicada onde h um bom algo-

    ritmo geral de soluoTabela 1.1: Comparao entre rede neural e arquitetura clssica de processamento.

    de conceitos simblicos emergem do nvel subsimblico.Uma comparao entre um computador em arquitetura clssica e uma rede

    neural feita na Tabela 1.1.

    1.2.2 O que redes neurais no so

    No so uma imitao do crebro. A soma de sinais de entrada efetuada peloneurnio artificial apresentado anteriormente pode ser associada ao pro-cesso, efetuado pela capacitncia da membrana do neurnio biolgico, deintegrao temporal dos pulsos eltricos recebidos. Ainda nesta analogia,o valor de sada representa a freqncia dos pulsos gerados pelo neurnio.Esta analogia ser melhor desenvolvida na Seo 1.2.4.

    O modelo pode causar estranheza pela sua simplicidade quando comparadoao que se conhece da intrincada troca de sinais eltrico-qumicos no sistemanervoso. H uma srie de aspectos conhecidos da fisiologia do crebro que

    no esto representados nas chamadas redes neurais artificiais. A maioriadestes modelos no lida com a organizao espacial dos neurnios e dasinterconexes, e no prevem a existncia de vrios tipos de sinais entreprocessadores. Se a inspirao biolgica um dos fundamentos do conexi-onismo, de se estranhar a ausncia, nos modelos pesquisados, de anlogosa estruturas conhecidas do sistema nervoso natural. Mas um equilbrio deveser buscado entre a plausibilidade biolgica dos modelos e sua tratabilidadematemtica. Conhecimentos de neurologia so usados como inspiradoresde princpios gerais que os modelos estudados procuram seguir. Alguns dos

    Sistemas Inteligentes 7

  • 8/8/2019 Apostila_-_IntroduoAosSistemasInteligentes

    8/57

    CAPTULO 1. SISTEMAS INTELIGENTES E REDES NEURAIS

    mais importantes so os seguintes as interconexes entre os neurnios for-

    mam uma rede densa, a comunicao entre eles feita pelo envio de sinaisexcitatrios e inibitrios, e o aprendizado envolve alteraes nas conexes. de se esperar que novos conhecimentos de fisiologia neurolgica venhama contribuir para a evoluo do modelo, mas as propostas no campo de re-des neurais no se limitam a reproduzir ou modelar fatos conhecidos damorfologia cerebral.

    No entanto, recentemente a questo do carter temporal do processamentobiolgico de informaes foi retomada, e alguns novos modelos processampulsos ao longo do tempo, ao invs de nmeros reais.

    No so uma novidade de interesse meramente acadmico. As pesquisas no se-tor so to antigas quanto a idia do computador digital. Seus conceitos fun-damentais podem ser encontrados no sculo passado! O que de fato ocorreufoi um ocaso das pesquisas na dcada de 40 (o que coincide com o boomda mquina a programa armazenado) e uma forte retomada do fim dos anos80 (ver histrico). Hoje a tecnologia neural faz parte de sistemas comerciaisde reconhecimento, controle e automao em todo o mundo.

    No so o paradigma do computador do futuro. No h motivo para se pen-sar que Redes Neurais vo substituir o paradigma clssico de computaoem todas as reas (em operaes matemticas, por exemplo). O que se

    imagina que possa ocorrer a interao entre computao simblica e sub-simblica em sistemas inteligentes.

    No so sistemas com pouco fundamento matemtico. A matemtica envolvi-da muito bem fundamentada, e conhecida h muito tempo. No h nadade aleatrio ou misterioso em sua operao. Como qualquer sistema nolinear, existe dificuldade de anlise no que diz respeito a certas questes(estabilidade, definio de estrutura, algoritmo e parmetros de treinamentotimos para um dado problema) e por isso h espao para heursticas e pro-cedimentos de tentativa e erro.

    1.2.3 Histrico

    Como dissemos acima, os sistemas conexionistas tm uma histria to ou maisantiga do que a dos computadores digitais. J nos trabalhos de James (1890) en-contramos os princpios fundamentais do que so hoje o modelo de neurnio eo princpio da associao. Mas a primeira anlise matemtica das potencialida-des de redes de elementos processadores inspirados em neurnios data da dcadade 40. A demonstrao (feita por McCulloch e Pitts) de que associaes des-tes neurnios artificiais podem implementar qualquer funo lgica finita foi o

    Alexandre Romariz 8

  • 8/8/2019 Apostila_-_IntroduoAosSistemasInteligentes

    9/57

    1.2. INTRODUO S REDES NEURAIS

    primeiro sucesso terico do conexionismo. John von Neumann, ao propor a m-

    quina a programa armazenado, cita este trabalho e procura associar as operaesde sua mquina aos neurnios de McCulloch e Pitts.

    A primeira onda de entusiasmo com redes neurais surgiu com o Perceptronde Rosenblatt (1958). Este sistema consegue aprender a classificao de padresa partir de exemplos. Pela primeira vez via-se um modelo de aprendizado e per-cepo com resultados concretos. Ao entusiasmo seguiu-se uma grande crise coma descoberta das limitaes do Perceptron. Tornou-se clssico o caso da funoou-exclusivo, que apesar de sua aparente simplicidade no pode ser ensinada aeste sistema. A extenso do Perceptron para superar estas limitaes envolviauma metodologia matemtica desenvolvida na dcada de 70 e que s viria a ser

    empregada nos anos 80. O trabalho de Minsky e Papert (1969) onde todas estasdificuldades so apontadas, acompanhadas da declarao de uma crena pessoal(e errnea) dos autores de que a extenso do modelo seria intil, marca o ocasodas pesquisas em redes neurais na dcada de 70.

    No incio dos anos 80, o fsico Hopfield traz de volta o interesse na rea aopropor um sistema dinmico baseado em neurnios que desempenha a funo dememria associativa. Barto et al. (1983) tambm utilizam neurnios artificiaiscom aprendizado associativo para tarefas complexas de controle. Kohonen (1984)estuda a capacidade de auto-organizao destes sistemas. Mas o ressurgimentodo interesse em conexionismo a que nos referimos anteriormente ocorreu como uso do algoritmo de treinamento por retropropagao de erro por um grupoauto-intitulado PDP (Parallel Distributed Processing) em 1986, que permitiu aextenso do Perceptron de Rosenblatt para vrias camadas de neurnios e assimsuperou as dificuldades daquele modelo. Observou-se ento uma exploso de apli-caes de redes neurais nos mais variados campos: reconhecimento de padres(com aplicaes industriais, militares, em medicina e finanas), previso de sriestemporais (com aplicaes em economia e finanas), identificao e controle desistemas dinmicos complexos, compresso de dados, etc.

    Temas recentes da pesquisa em redes neurais incluem mtodos numricosmais eficientes para treinamento, algoritmos genticos aplicados ao treinamento,arquiteturas dedicadas ao controle de sistemas dinmicos, arquiteturas modulares,

    sistemas hbridos redes neurais / lgica nebulosa e modelos que incorporam ascaractersticas dinmicas geralmente desprezadas nos modelos tradicionais.

    1.2.4 A motivao biolgica

    Aplicar engenharia reversa para solues existentes em biologia um caminhoatraente mas difcil. No caso particular da arquitetura de processamento de sis-temas nervosos complexos, a questo de quais caractersticas so fundamentais equais detalhes de implementao podem ser abstrados est longe do fim. Ainda

    Sistemas Inteligentes 9

  • 8/8/2019 Apostila_-_IntroduoAosSistemasInteligentes

    10/57

    CAPTULO 1. SISTEMAS INTELIGENTES E REDES NEURAIS

    assim, o sucesso prtico das redes neurais artificiais lembra-nos da diferena entre

    modelagem precisa de sistemas biolgicos (ou teorias convincentes de comporta-mento inteligente) e computao til de inspirao neural.

    Uma caracterstica peculiar da organizao do sistema nervoso o seu carterdistribudo e no-centralizado, bem diferente da arquitetura mais bem sucedidados computadores digitais. A tese de que o comportamento inteligente resultadode um processo coletivo, emergente de muitas unidades simples, conectadas demaneira densa e plstica deu origem idia de redes neurais artificiais.

    Por outro lado, uma caracterstica fundamental de modelos abstratos de com-putao sua universalidade e independncia de mecanismos de implementao.O mesmo conjunto de funes computveis pode ser gerado por modelos que apa-

    rentam no ter semelhana alguma. Do ponto de vista terico, h ainda debatessobre serem os sistemas conexionistas uma porta para um novo nvel de anliseda computao [2] ou apenas uma alternativa de implementar certas funes [3].De um ponto de vista de engenharia, computao neural pode ser vista como tilpara uma classe especfica de problemas, e seu valor portanto independente desua eventual relevncia em Inteligncia Artificial.

    Pesquisadores do campo de Redes Neurais gostariam de dispor de um modelosimples que representasse todas as caractersticas principais do neurnio, j quese acredita que o poder computacional destes sistemas emerge da complexidadede suas interaes. Uma viso qualitativa de propriedades neurais apresentada aseguir.

    Neurnios so sistemas dinmicos intrincados, e sua operao depende de umacadeia de fenmenos bio-eletroqumicos. Vamos nos concentrar em caractersti-cas relativamente comuns de neurnios, ainda que praticamente qualquer afirma-tiva nesse campo possa ser contestada com um contra-exemplo de uma clulanervosa especfica [4]. A Figura 1.2 apresenta esquematicamente um neurnio.Nele, duas estruturas originam-se do corpo celular: a rvore dendrtica (que podeser vista como uma coleo de terminais de entrada) e um axnio, pelo qual osinal de sada propaga.

    Neurnios mantm uma diferena de potencial eltrico em sua membrana ex-terna, em decorrncia de permeabilidade seletiva de ons e bombas ativas, que car-

    regam ons contra o gradiente de concentrao. Uma perturbao deste potencialde equilbrio (provocada, por exemplo, por um estmulo externo em um neur-nio sensorial, ou pela influncia da atividade de outro neurnio, como discutidoabaixo), propaga-se pela clula em um processo anlogo transmisso de um si-nal eltrico em uma linha de transmisso. Este mecanismo passivo de conduono efetivo para distncias grandes. Um mecanismo peridico de regenerao necessrio, j que axnios podem se estender por uma grande frao do crebro,ou mesmo por todo o corpo [5].

    Um processo ativo de regenerao existe [6]. A permeabilidade seletiva dos

    Alexandre Romariz 10

  • 8/8/2019 Apostila_-_IntroduoAosSistemasInteligentes

    11/57

    1.2. INTRODUO S REDES NEURAIS

    (a)

    (b)

    Axonhillock

    Nodes of Ranvier

    W W

    Dendrites

    Myelin sheath

    Axon

    Cell Body

    Figura 1.2: (a) Viso esquemtica de um neurnio tpico. Sinais eltricos ml-tiplos se propagam pelos dendritos. Potenciais de ao so gerados inicialmenteno hillockdo axnio e podem ser restaurados em cada seo no-mielinada (Nsde Ranvier). Na viso detalhada, uma conexo sinptica mostrada. Na maio-ria dos casos, a interconexo entre neurnios mediada por substncias qumicas(neurotransmissores). (b) Uma abstrao tpica para fins computacionais.

    canais inicos , ela mesma, controlada por tenso, criando um lao de realimen-tao. Quando um segmento da clula despolarizado alm de um certo valor,certos canais inicos (principalmente canais de Na+) tornam-se cada vez maispermeveis, e assim o fluxo inico leva o sistema a um desequilbrio ainda maiorde potencial. Outros canais (principalmente de K+) de dinmica mais lenta soativados mais tarde, e trazem o sistema de volta ao estado de repouso. O resultadoglobal um pico bem definido na tenso da membrana, conhecido como potencial

    de ao.Este processo ativo de produo de pulsos geralmente ocorre primeiro no seg-

    mento inicial do axnio (hillock), onde a concentrao de canais controlados portenso maior e o limiar para a gerao do AP menor [6]. Ainda que hajaevidncia para propagao ativa e no-linear de APs na rvore dendrtica, co-mum modelar esta propagao como passiva, com o axnio realizando uma somae comparao com um limiar. APs permitem transmisso por distncias longas, jque eles podem ser regenerados em cada regio no-mielinada do axnio (ns deRanvier) por um processo fundamentalmente igual ao da gerao inicial de APs.

    Sistemas Inteligentes 11

  • 8/8/2019 Apostila_-_IntroduoAosSistemasInteligentes

    12/57

    CAPTULO 1. SISTEMAS INTELIGENTES E REDES NEURAIS

    Eles tambm tm papel essencial na comunicao entre neurnios, como veremos

    abaixo.Sinais de entrada fracos, que no atingem o limiar de gerao de APs no se

    propagam eficientemente. Quanto mais forte o sinal, mais cedo ocorre o AP. Umavez que a permeabilidade dos canais demora um pouco para se re-estabelecer, aproduo de um novo AP em um tempo curto relativamente difcil. Estes fatossugerem que a relao entre intensidade do sinal de entrada e freqncia dos APs uma funo crescente com limiar e saturao, uma caracterstica comum a quasetodos os modelos de redes neurais artificiais.

    O processo pelo qual os neurnios so acoplados (sinapse) tambm um sis-tema dinmico complexo. Na maioria dos casos, no h contato eltrico. Um AP

    inicia a liberao de substncias qumicas (neurotransmissores) que se ligam a s-tios especficos do neurnio receptor, abrindo canais inicos, e despolarizando-o.A eficincia desta conexo, que afeta a amplitude e o atraso do potencial ps-sinptico, varia no espao (conexes chegando a posies diferentes de um neur-nio podem ter efeitos diferentes) e em mltiplas escalas de tempo. Em particular,um processo de aumento seletivo de eficincia sinptica no longo prazo, baseadona correlao de atividades pr e ps-sinpticas (Potenciao de Longo Prazo) considerado fundamental para aprendizado e memria [7].

    Dado este processo complexo, no fica claro nem ao menos quais variveisfsicas realmente representam informao de alto nvel. O potencial de ao cer-

    tamente tem um papel relevante, uma vez que ele desempenha funo fundamentalna comunicao neural. Uma abordagem bastante comum, denominada hiptesedo cdigo freqencial (ver Recce 1999 [8]) toma a freqncia de disparo comovarivel principal. Esta, como mencionado acima, uma funo crescente, no-linear, das entradas. A idia de que a temporizao dos pulsos carrega informao(hiptese do cdigo temporal) s ganhou ateno recentemente em estudos ori-entados a computao. Esta idia no necessariamente oposta a anterior, j que concebvel que ambos os cdigos estejam sendo usados para tarefas diferentesde transmisso da informao, ou que cada um adequado para tarefas em escalastemporais diferentes [9].

    O desenvolvimento dos primeiros computadores eletrnicos trouxe um au-mento no interesse de modelos neurais para computao [10, 11]. Eles baseiam-seprincipalmente no cdigo freqencial e do nfase a dois aspectos da arquiteturado sistema nervoso: soma adaptativa de entradas, e funo de ativao geralmenteno-linear. Este modelo de neurnio artificial descrito pelo mapa no-linear emultidimensional f : RN R

    y = f

    wT(t)x(t)

    (1.1)

    onde y a sada do neurnio, w um vetor real de pesos sinpticos e x um vetor de

    Alexandre Romariz 12

  • 8/8/2019 Apostila_-_IntroduoAosSistemasInteligentes

    13/57

    1.2. INTRODUO S REDES NEURAIS

    (b)

    (a)

    Adaptive Connections

    Hidden Connection Layer

    Output Connection Layer

    Delayed recurrent connectionsInput connection (initial state)

    (c)Lateral inhibition

    Figura 1.3: Exemplos de conectividade de Redes Neurais Artificiais. Crculos es-curos representam entradas externas. (a) Arquitetura multi-camada feed-forward)usada na rede de retropropagao. (b) Arquitetura recursiva totalmente conectadada rede de Hopfield. (c) Conexes monocamada lateralmente inibitrias (comraios de atuao variantes no tempo) no Mapa auto-organizvel de Kohonen.

    valores de entrada de outros neurnios ou do ambiente externo. Os pesos sinpti-cos w variam lentamente no tempo, durante a adaptao ou aprendizado. Funesde ativao f comuns so as chamadas funes logsticas, como a sigmide e atangente hiperblica.

    Esses neurnios artificiais podem ser combinados de muitas formas para for-mar redes neurais artificiais (veja a Figura 1.3). Redes feed-forward (1.3a) soestruturas de camadas de neurnio, com conexo total entre camadas vizinhas.Esta a arquitetura da rede de retropropagao de erro (Backpropagation) [12],possivelmente o modelo mais usado de rede neural. Tambm possvel ter to-das os neurnios recebendo uma mesma entrada, com interaes inibidoras entreneurnios vizinhos ( 1.3c). Esta configurao usada no mapa auto-organizvelde Kohonen [13]. Outro exemplo de conectividade a rede recorrente e totalmenteconectada ( 1.3b), usada no modelo de Hopfield para memria associativa [14].

    Sistemas Inteligentes 13

  • 8/8/2019 Apostila_-_IntroduoAosSistemasInteligentes

    14/57

    CAPTULO 1. SISTEMAS INTELIGENTES E REDES NEURAIS

    1.2.5 Exemplos de operao

    Terminamos este captulo com exemplos de operao de algumas das redes apre-sentadas na seo anterior. Estes exemplos sero apresentados em maior detalheadiante.

    Em primeiro lugar, consideremos a utilizao da rede backpropagation parareconhecimento de padres (1.3a). Em particular, imaginemos que as entradassejam valores de intensidade luminosa em cada pixel de uma imagem, e as sadassejam classes entre as quais as imagens devam ser classificadas (podemos imagi-nar uma aplicao em que a rede deve indicar qual letra do alfabeto est indicadapela imagem apresentada).

    O nmero de camadas deve ser definido por tentativa e erro (geralmente duas

    ou trs), bem como o nmero de neurnios nas camadas intermedirias. Na ca-mada de sada, o nmero de neurnios corresponde ao nmero de classes existen-tes. (exceto na camada de sada, na qual o nmero de neurnios corresponde aonmero de classes existentes). A funo de ativao dos neurnios costuma serdo tipo sigmide ou tangente hiperblica.

    A esta rede aplica-se aprendizado supervisionado: uma srie de exemplos (va-lores dos pixels de imagens conhecidas, e a respectiva classe) fornecida rede,que ajusta os pesos das conexes entre neurnios seguindo algoritmo especfico.Se o aprendizado concludo com sucesso, a rede capaz de classificar comgrande taxa de acerto padres diferentes dos estudados (capacidade de generali-

    zao)Vejamos, como segundo exemplo, uma rede de Hopfield (1.3b) aplicada em

    um problema de otimizao. Neste problema desejamos encontrar que conjuntode parmetros minimiza uma certa funo. Como todos os neurnios esto liga-dos a todos os outros, a partir de uma condio inicial, vrios neurnios mudarode estado, o que produzir a mudana de estados de outros neurnios, e assim pordiante, at que um equilbrio seja encontrado. Pode-se dizer que a rede minimizauma funo de energia, como se fora um sistema dinmico agindo sob as leis dafsica. Esta funo determinada pelos valores das interconexes. Se conseguir-mos valores de interconexo tais que a funo de energia seja anloga funo

    que desejamos minimizar, a simples computao sucessiva dos valores de ativaodos neurnios acabar por indicar, quando a rede se estabilizar, o valor mnimo dafuno como esperado.

    Alexandre Romariz 14

  • 8/8/2019 Apostila_-_IntroduoAosSistemasInteligentes

    15/57

    Captulo 2

    Rede de Hopfield e Rede de

    Retropropagao

    2.1 Rede de Hopfield

    2.1.1 Arquitetura e Definies

    uma rede neural totalmente interconectada, como mostrado na Figura 2.1. Todosos neurnios so ligados entre si .A sada de cada um deles dada por

    sj =

    i

    wijyi (2.1)

    yj =

    1, sj < 0

    1, sj >= 0(2.2)

    onde o somatrio realizado sobre todos os neurnios conectados ao neurnio j.A atualizao dos valores da rede pode ser feita de dois modos: no modo sn-

    crono, todos os neurnios so atualizados ao mesmo tempo, isto , os valoresantigos de todos os neurnios so usados para o clculo dos novos valores. Na

    atualizao assncrona, estabelece-se uma ordem aleatria de atualizao. Ao atu-alizarmos o neurnio j, valores novos de neurnios atualizados anteriormente jsero empregados.

    Esta rede, a rigor, no tem entradas. A pergunta ao sistema feita definindo-se o estado inicial dos neurnios. Voltemos ao exemplo do reconhecimento decaracteres. Imaginemos que cada pixel aceso de uma imagem corresponda a umneurnio com valor 1. Uma imagem, corrompida, informada ao sistema para re-conhecimento. Neste caso, os valores dos pixels (1 ou -1) da imagem corrompidainicializa os valores dos neurnios. A partir da, a rede evolui segundo a regra

    15

  • 8/8/2019 Apostila_-_IntroduoAosSistemasInteligentes

    16/57

    CAPTULO 2. REDE DE HOPFIELD E REDE DE RETROPROPAGAO

    1 2 3 4

    w41

    w14

    w21

    Figura 2.1: Rede de Hopfield de 4 neurnios.

    apresentada acima. Espera-se que ela se estabilize em um estado que corresponda imagem mais prxima que foi armazenada no sistema.

    Toda a dinmica da rede depende da matriz de interconexo. Hopfield conse-guiu estud-la fazendo uma analogia com um sistema fsico (spins em um materialparamagntico). Assim, se o sistema fsico busca em sua dinmica a minimizaode sua energia, este sistema tambm minimiza naturalmente em sua operao umacerta funo, relacionada matriz de interconexo.

    E = i

  • 8/8/2019 Apostila_-_IntroduoAosSistemasInteligentes

    17/57

  • 8/8/2019 Apostila_-_IntroduoAosSistemasInteligentes

    18/57

    CAPTULO 2. REDE DE HOPFIELD E REDE DE RETROPROPAGAO

    Uma limitao aparente a necessidade de independncia linear dos pontos de

    equilbrio. Esta limitao no grave, no entanto. Quanto maior o tamanho dosvetores, menos provvel se torna a existncia de dependncia linear entre eles.

    Uma limitao mais grave a existncia de mnimos esprios de energia. Aexpresso da matriz T garante que padres de interesse correspondam a mnimosda funo de energia, mas o contrrio no necessariamente verdade: havermnimos da funo de energia que no correspondero a nenhum padro de in-teresse. Observe, por exemplo, que a simetria da funo de energia faz com queo inverso de um padro o padro obtido trocando-se os valores de todos osneurnios 1 por -1 e vice-versa tem o mesmo valor de energia. Assim, paracada padro armazenado, seu inverso armazenado tambm.

    medida em que o nmero de padres armazenados aumenta, o mesmoocorre com o nmero de mnimos esprios, o que na prtica limita a aplicaoda rede. Mostra-se que o nmero de padres que podem ser armazenados na pr-tica apenas 0,15 vezes o nmero de neurnios. Tenta-se melhorar esta limitaodefinindo-se alguns neurnios ocultos, isto , que no correspondem a nenhumelemento dos vetores a serem armazenados. Neste caso, necessrio usar umaforma de treinamento, porque o valor correto destes neurnios no definidopelo padro de entrada. Esta rede chamada Mquina de Boltzmann.

    2.1.4 Resfriamento simulado

    Chama-se de resfriamento simulado (simulated annealing), uma tcnica de oti-mizao que visa evitar mnimos locais. Na Figura 2.2, temos uma abstraomonodimensional de uma funo a ser otimizada. O ponto A um mnimo dafuno, mas no uma soluo to boa quanto o ponto B. Formas de escapardestes mnimos locais so sempre buscadas em algoritmos de minimizao.

    A inspirao para a tcnica de resfriamento simulado vem da metalurgia.Observa-se que um resfriamento controlado do material processado leva a umnmero menor de defeitos. A razo que, a altas temperaturas, a possibilidade

    de ficarmos presos a um mnimo local pequena, porque a agitao trmicagarante a existncia de movimentos contrrios dinmica natural. O resfriamentolento aumenta a chance de o sistema se equilibrar em um mnimo efetivamenteglobal.

    Nesta tcnica, sobrepe-se dinmica natural do sistema (descendente nafuno-energia) uma dinmica aleatria, controlada por um parmetro que decaicom o tempo, denominado temperatura por analogia.

    Em termos especficos, para implementar esta tcnica na rede de Hopfield,inclui-se uma probabilidade de que um neurnio passe para o estado ativo (yj = 1)

    Alexandre Romariz 18

  • 8/8/2019 Apostila_-_IntroduoAosSistemasInteligentes

    19/57

    2.2. A REDE DE RETROPROPAGAO

    A

    B

    Figura 2.2: Viso simplificada de uma funo a otimizar. O ponto A mnimo,mas no o mnimo global. Um bom mtodo de otimizao deve, se for iniciado nasproximidades do ponto A, avanar na direo contrria do gradiente para poderencontrar o ponto B.

    mesmo que ele tenha excitao global negativa (sj < 0), de acordo com

    pk =1

    1 + exp(EkT

    )(2.6)

    onde Ek o quanto aumenta a funo energia da rede com a ativao do neur-nio k.

    2.2 A rede de retropropagao

    2.2.1 O Perceptron e a regra delta

    Como foi dito na seo 1.2.3, o Perceptron de Rosenblatt (1957) iniciou a primeiraonda de interesse em redes neurais. A caracterstica mais impressionante destesistema sua habilidade de aprender a partir de exemplos. A Figura 2.3 mostraum Perceptron tpico, usado para distinguir pontos de duas regies de um plano.

    A operao do Perceptron segue o princpio j apresentado de modelo deneurnio. As entradas so somadas (com ponderao dada pelo vetor de inter-conexes), e aplica-se soma resultante uma funo no linear.

    Sistemas Inteligentes 19

  • 8/8/2019 Apostila_-_IntroduoAosSistemasInteligentes

    20/57

    CAPTULO 2. REDE DE HOPFIELD E REDE DE RETROPROPAGAO

    x0

    x1

    x0

    xN-1

    Entradas

    Saida

    Figura 2.3: Neurnio tpico de uma rede perceptron. esquerda, vemos umexemplo de classificao linear bidimensional de padres. A rede deve aprenderquais parmetros definem uma reta que separa os dois padres.

    O tipo de aprendizado operado sobre esta rede chamado supervisionado.Nele, dispomos de um professor que fornece rede exemplos de entrada comas respectivas respostas corretas. O algoritmo de treinamento deve modificar osparmetros da rede (pesos) de forma a otimizar sua performance. Terminado oaprendizado, espera-se que a rede consiga bom desempenho em questes diferen-

    tes das apresentadas no treinamento ( o que se chama capacidade de generaliza-o).Rosenblatt props uma regra de adaptao para este neurnio, provando um

    resultado bastante forte: se as classes apresentadas so separadas nos espao deparmetros por hiperplanos (no caso bidimensional da Figura 2.3, uma linha reta),o vetor de pesos converge para uma classificao perfeita.

    A regra proposta extremamente simples. Seja wi[t] o valor atual do peso queconecta o neurnio i-sima entrada xi. Seja y a sada do neurnio, e seja d asada desejada para o exemplo ora apresentado. O novo peso ser

    wi[t + 1] = wi[t] + wi[t] (2.7)

    ondewi[t] = (d y)xi (2.8)

    A constante positiva por vezes denominada taxa de aprendizado (learningrate) e costuma ser definida por tentativa e erro. Tipicamente, 1.

    Observar que, para um exemplo em que a classificao foi perfeita, no hmudana nos pesos. Se a rede deveria ter tido uma sada maior do que a obtida(d > 0), o peso de uma entrada positiva aumenta, e de uma negativa diminui. Da

    Alexandre Romariz 20

  • 8/8/2019 Apostila_-_IntroduoAosSistemasInteligentes

    21/57

  • 8/8/2019 Apostila_-_IntroduoAosSistemasInteligentes

    22/57

    CAPTULO 2. REDE DE HOPFIELD E REDE DE RETROPROPAGAO

    mente. Mas como treinar a rede para problemas do mundo real, cuja resposta

    no sabemos a priori? Deparamo-nos aqui com um problema: como determinar ocomportamento destes Perceptrons intermedirios, cuja sada no representa ne-nhuma varivel especificada pelos exemplos disponveis? A extenso da regradelta para vrias camadas de processadores s foi conseguida em meados dos anos80. At ento, houve praticamente o abandono das pesquisas em conexionismo.

    2.2.2 O Perceptron multicamada e a regra de retropropagao

    de erro

    Quando foi conseguida, a extenso do Perceptron de Rosenblatt causou o ressur-gimento da pesquisa em redes neurais. Este ainda o tipo de rede mais utilizadoem aplicaes, pelo que vamos nos deter em algum detalhe em sua estrutura e seutreinamento. Cabe ainda notar que estruturas como estas so aproximadores uni-versais: dada uma funo contnua qualquer definida em um domnio compacto,existe uma rede neural com uma matriz de conexo entre camadas que a aproximacom erro arbitrariamente pequeno.

    Este tipo de rede costuma ser chamada rede backpropagation, ainda queo termo backpropagation se refira mais especificamente sua regra de treina-mento, e no sua arquitetura. O termo perceptron multicamada tambm usado, ainda que a rigor, a tcnica de treinamento necessita das derivadas da fun-

    o de ativao, ao contrrio do que ocorria na regra delta original. As funesde ativao mais usadas para neurnios desta rede so as funes denominadasbalsticas, como a tangente hiperblica ou a sigmide.

    A rede utiliza uma topologia de camadas de neurnios, com conexes unila-terais de uma camada para a seguinte, mas sem conexes dentro de uma mesmacamada (arquitetura feed forward). A Figura 2.4 mostra um trecho de uma redePMC hipottica, para definirmos a notao utilizada.

    Lembramos que a grande dificuldade para definir o treinamento desta estruturareside no fato de que os exemplos a princpio s nos permitem calcular o erro dosneurnios de sada (como o valor y31 mostrado). Para os neurnios da camada

    escondida (como o que produz a sada y22), os exemplos no nos fornecem sadasdesejadas.

    Queremos encontrar a derivada do erro com relao a uma certa interconexow1ij ou w2ij , para podermos modificar esta interconexo no sentido contrrio doaumento de erro (descida de gradiente).

    Vamos definir o erro das sadas da rede como

    E =1

    2

    j

    (dj y3j)2 . (2.9)

    Alexandre Romariz 22

  • 8/8/2019 Apostila_-_IntroduoAosSistemasInteligentes

    23/57

    2.2. A REDE DE RETROPROPAGAO

    x1

    x2

    xn

    w111

    w1nmy2m

    y21

    w211

    w2mk

    y31

    y3k

    Figura 2.4: Estrutura da rede backpropagation Neste exemplo, temos uma redecom 2 camadas, com n entradas, m neurnios na camada escondida e k neurniosna camada de sada.

    A sada de um neurnio da camada de sada vale:

    ykj = g

    i

    wk1 i jyk1 i

    (2.10)

    Para os neurnios da camada escondida, basta trocar yk1 i por xi na expressoacima.

    Seja Ikj o argumento de g, ou seja,

    Ikj =

    iwk1 i j yk1 i. (2.11)

    Vamos calcular a derivada do erro com relao a uma interconexo da ltimacamada:

    E

    w2ij=

    E

    I3j

    I3j

    w2ij(2.12)

    I3j

    w2ij= y2i (2.13)

    E

    I3j=

    E

    y3j

    y3j

    I3j= (dj y3j )g

    (s)|s=I3j (2.14)

    Sistemas Inteligentes 23

  • 8/8/2019 Apostila_-_IntroduoAosSistemasInteligentes

    24/57

    CAPTULO 2. REDE DE HOPFIELD E REDE DE RETROPROPAGAO

    Finalmente, encontramos

    E

    w2ij= (dj y3j )g

    (s)|s=I3j y2i (2.15)

    e assim a atualizao de uma interconexo da ltima camada ser:

    w2ij = (dj y3j)g(s)|s=I3j y2i (2.16)

    Observar que a nica diferena para a regra de Rosenblatt o termo g(s), relativo derivada da funo de ativao.

    Para a camada escondida, comeamos da mesma maneira:E

    w1ij=

    E

    I2j

    I2j

    w1ij(2.17)

    I2j

    w1ij= xi (2.18)

    E

    I2j=

    E

    y2j

    y2j

    I2j=

    E

    y2jg(s)|s=I2j (2.19)

    Como j comentamos, o nico problema o clculo da derivada do erro com

    relao sada de um neurnio da camada escondida. Mas, esta questo queparalisou as pesquisas em redes neurais durante 32 anos, resolve-se com umasimples aplicao da regra da cadeia!

    E

    y2j=

    k

    E

    I3k

    I3k

    y2j

    =

    k

    E

    I3kw2jk

    (2.20)

    Portanto, chega-se a

    w1ij = g(s)|I2j

    k

    d3kw2jk (2.21)

    onde

    d3k = E

    I3k= (dk y3k)g

    (s)|I3k (2.22)

    observe que a quantidade d3k calculada na atualizao de pesos da camadade sada e propagada para trs em direo s camadas anteriores, atravs dasmesmas conexes usadas para calcular a sada. Da o nome retropropagao deerro.

    Alexandre Romariz 24

  • 8/8/2019 Apostila_-_IntroduoAosSistemasInteligentes

    25/57

    2.2. A REDE DE RETROPROPAGAO

    2.2.3 Algumas observaes sobre a rede de retropropagao

    Como j dissemos, a extenso do Perceptron de Rosenblatt para vrias camadascom um algoritmo eficiente de aprendizado fez renascer a pesquisa em conexio-nismo. O PMC com regra delta modificada de aprendizado (ou regra de retropro-pagao de erro ou ainda backpropagation) tornou-se uma ferramenta poderosa,aplicada nas mais diversas reas. Antes de estudarmos algumas de suas aplica-es, faremos alguns comentrios gerais sobre aspectos tericos e prticos do usodesta rede.

    A polmica da criao do algoritmo. O termo backpropagation e seu uso emredes neurais surgiu em um trabalho do grupo de pesquisa PDP (Parallel

    Distributed Processing), liderado pelos americanos Rumelhart e McClel-land, em 1986. No entanto, aparentemente, este tipo de adaptao de par-metros conhecido no campo da matemtica aplicada desde a dcada de 70(vide os trabalhos de Werbos) e possivelmente antes. De qualquer forma,foi a partir de 1986 que esta teoria foi aplicada.

    A capacidade de aproximao universal. J nos referimos a este resultado an-teriormente. Foram demonstrados vrios teoremas afirmando que, dadauma funo contnua em um domnio limitado, existe um PMC com duascamadas de interconexo que a aproxima arbitrariamente bem. Este resul-tado deve ser visto com cautela em termos prticos. Em primeiro lugar, ele

    puramente existencial (nenhuma pista de que rede seria esta fornecida).Nem mesmo a finitude da rede est garantida! No h hoje como saber,fixada uma rede com certo nmero de neurnios, se ela capaz ou no derepresentar arbitrariamente bem uma ampla classe de funes.

    A capacidade de generalizao . Verifica-se na maioria dos casos um excelentedesempenho da rede aps treinamento, em pontos do espao que no ha-viam sido apresentados. preciso observar que no h garantias matemti-cas rigorosas de que isto deva acontecer. Nossa garantia intuitiva de que afuno de sada da rede ser contnua, como contnua a maioria dos mape-

    amentos de interesse em problemas reais. Assim, em regies prximas aospontos estudados no treinamento, teremos respostas prximas aos valoresconhecidos de sada, o que uma estratgia razovel de aproximao.

    A constante de aprendizado. Como j dissemos anteriormente, este valor de-finido por tentativa e erro, acompanhando-se a evoluo do erro mdio du-rante o treinamento. Um comportamento excessivamente oscilante desteerro indcio de um valor muito elevado para a constante. Os valores abso-lutos de entrada e sada, o nmero de pontos de treinamento e a estratgiade atualizao (ver adiante) tm influncia nesta escolha.

    Sistemas Inteligentes 25

  • 8/8/2019 Apostila_-_IntroduoAosSistemasInteligentes

    26/57

    CAPTULO 2. REDE DE HOPFIELD E REDE DE RETROPROPAGAO

    Aprendizado estocstico e em batelada (batch learning). H basicamente du-

    as estratgias para atualizao a partir do erro. Para cada padro apresen-tado, uma mudana em cada peso wijk ser computada. O peso podeento ser modificado imediatamente, ou ento este valor ser somado com amodificao devida aos outros padres, e s aps a apresentao de todos ospadres modificam-se os pesos. Nas aplicaes de redes neurais, estas duasestratgias tm sido usadas indistintamente, com bons resultados. curiosonotar que as descries matemticas destas duas formas de treinamento socompletamente diferentes.

    Se modificamos os parmetros da rede cada apresentao de um exem-plo, estaremos em cada passo com um diferente gradiente de erro, j que

    o erro instantneo tambm funo do exemplo apresentado. A dedu-o da regra delta apresentada acima no se aplica diretamente. A descidade gradiente passa a ser um processo estocstico. Uma regra idntica seriaobtida a partir desta teoria, mas este aprendizado estocstico ou on-line le-arning exige algumas consideraes especiais. O passo do algoritmo ()deve tender a zero a medida que o treinamento evolui (isto s vezes igno-rado na prtica, e raramente tem conseqncias muito danosas), e a ordemdos pontos apresentados passa a ter muita importncia (isto sim, deve serobservado na prtica). importante que os exemplos venham de regiesdiferentes do espao a cada instante. O treinamento comporta-se muito mal

    quando os exemplos de regies prximas so apresentados em seguida. Estegnero de aprendizado obrigatrio quando se tenta fazer adaptao on-line(por exemplo, quando se tenta a identificao de um sistema dinmico emtempo real).

    O outro gnero de aprendizado (em batelada ou batch-learning ) permiteuma implementao eficiente em termos de matrizes e, em algoritmos detreinamento mais complexos (gradiente conjugado, por exemplo) semprepreferido. Como a amplitude das mudanas ser a soma das amplitudesdevidas a cada padro, o valor de a aqui deve ser menor do que no treina-mento estocstico, e deve ser to menor quanto mais pontos de treinamento

    houver. Evidentemente, a ordem dos exemplos no importante aqui.O nmero de camadas e de neurnios em uma camada . No h teoria que gui-

    e esta escolha. O resultado de aproximao universal nos garante que umacamada escondida suficiente, mas a adio de camadas extra parece po-der substituir a adio de um grande nmero de neurnios em uma camadanica.

    A validao cruzada. Em geral, prolongar em demasia o treinamento faz a redecomear a reproduzir o rudo inerente aos dados de entrada, fenmeno co-

    Alexandre Romariz 26

  • 8/8/2019 Apostila_-_IntroduoAosSistemasInteligentes

    27/57

    2.2. A REDE DE RETROPROPAGAO

    nhecido como sobretreinamento (overtraining). O erro continua a cair no

    arquivo de treinamento, mas a performance real do sistema ir piorar. Existeuma prtica bastante eficiente para contornar este problema: separam-se al-guns dos pontos de treinamento apenas para validao, ou seja, eles sousados para avaliar a performance mas no para ajustar os pesos. A per-formance sobre estes pontos melhora do incio do treinamento at quandocomea a ocorrer o overtraining. Neste ponto de mnimo o treinamentodeve ser interrompido.

    Normalizao dos valores de entrada. As equaes do algoritmo de treinamentomostram que a atualizao dos pesos funo da magnitude do erro. Assim,valores absolutos muito elevados na entrada ou na sada exigem constantesde aprendizado pequenas. Pode haver problemas de instabilidade numricaneste ajuste, pelo que recomendvel a normalizao dos valores. Cabenotar ainda que se neurnios com sada do tipo sigmide (limitada entre 0 e1) forem usados na camada de sada, esta normalizao imprescindvel. Anica outra alternativa seria usar neurnios de funo de ativao identidade(apenas soma as entradas) na camada de sada.

    Alm de uma simples normalizao de escala, outras transformaes sobreos valores de entrada so teis. Por exemplo, interessante transformar osdados para que tenham mdia zero, e que os desvios das diversas variveis

    de entrada sejam semelhantes. Observando-se que a funo de ativao lo-gstica tem derivada nula para mdulo muito elevado de entrada, deve-seevitar que os neurnios atinjam valores exremos de saida no incio do trei-namento, ou ento a alterao de pesos ter um valor insignificante. Assim,os pesos inciais, aleatrios, devem ter uma faixa de valores que resultem emsadas prximas ao meio da faixa dinmica do neurnio.

    Plausibilidade biolgica. Temos aqui um exemplo em que o algoritmo resultanteno tem aparentemente nenhuma relao com sistemas de aprendizado bio-lgico. No parece haver nenhum indcio de retropropagao de erro nosistema nervoso animal (embora uma minoria de pesquisadores ainda de-

    fenda que fenmenos como estes ainda podem ser encontrados). Como jhavamos comentado, se um algoritmo de aprendizado tem revelado bonsresultados, a inexistncia de paralelo natural conhecido no costuma ser le-vada em conta.

    2.2.4 Roteiro para treinamento

    Apresentamos a seguir uma descrio serial das atividades geralmente envolvidasna aplicao de redes neurais do tipo MLP em problemas de engenharia.

    Sistemas Inteligentes 27

  • 8/8/2019 Apostila_-_IntroduoAosSistemasInteligentes

    28/57

    CAPTULO 2. REDE DE HOPFIELD E REDE DE RETROPROPAGAO

    Dados de entrada Deve-se definir quais so as entradas e sadas da rede. No

    necessrio conhecer uma funo analtica que relacione entradas e sadas,mas algum conhecimento sobre o problema ajuda a retirar dados irrelevan-tes da entrada. Um trabalho de pr-processamento adequado pode ser adiferena entre sucesso e fracasso da aplicao. Em uma anlise de ima-gens, por exemplo, dificilmente o uso direto dos valores de intensidade detodos os pixels, sem nenhum pr-processamento, levar a uma boa perfor-mance. Medidas comuns de pr-processamento incluem a representao emfreqncia (Transformada de Fourier) e outras transformaes para garantircertas invarincias (escala, translao, rotao, etc.)

    Dados de sada A sada pode ser uma funo contnua (por exemplo, se deseja-mos estimar o valor de uma varivel econmica futura, dado seus valoresrecentes) ou valores discretos (por exemplo, a rede indica se h ou no huma anomalia no sistema, a partir da leitura dos parmetros atuais). Nosegundo caso, a escolha mais comum termos um neurnio de sada paracada classe (no exemplo dado, um neurnio para indicar Sistema Normale outro para indicar Sistema Defeituoso) .

    Arquivos de Treinamento e Teste Os exemplos conhecidos devem ser divididosem 2 ou 3 arquivos. O principal (de treinamento) contm a maior parte dosdados, e ser usado para o ajuste da rede. Uma parcela menor dever ter

    exemplos que no so usados para ajuste de pesos, mas apenas para verifi-cao de desempenho. Este denomina-se arquivo de teste, embora algunsautores faam uma distino entre Validao (teste de desempenho duranteo treinamento, para escolher o momento de parada) e Teste (para uma es-timativa final de desempenho, ao final do treinamento). Se pretendermosusar treinamento estocstico ou on-line, preciso garantir que o arquivo detreinamento esteja embaralhado, isto , que os exemplos semelhantes nosejam linhas vizinhas do arquivo.

    Topologia da Rede Definidos os dados de entrada, sabemos quantas variveis deentrada existem, e quantos neurnios na sada. Infelizmente, no sabemos

    quantos neurnios sero usados na camada escondida, nem se convenientetermos mais de uma camada escondida. Isto definido por tentativa e erro.

    Treinamento Definidos todos os parmetros, inicia-se um lao de treinamento.Para cada exemplo, apresenta-se os valores de entrada rede, e computa-sea sua sada. Comparando-se a sada desejada com a obtida, temos os errosda camada de sada. Aplicando-se o algoritmo backpropagation,calculam-se as modificaes em todos os pesos da rede1. No treinamento on-line, esta

    1Lembre-se de que cada neurnio tem um valor de limiar ou vis (bias), que para todos os

    Alexandre Romariz 28

  • 8/8/2019 Apostila_-_IntroduoAosSistemasInteligentes

    29/57

    2.2. A REDE DE RETROPROPAGAO

    modificao aplicada de imediato. No treinamento off-line esta modifica-

    o ser somada modificao calculada para todos os outros exemplos, eento finalmente aplicada.

    Repeties Um erro comum entre estudantes imaginar que, apresentado umexemplo, ele seja compreendido imediatamente, ou seja, que quando to-dos os exemplos foram apresentados a rede esteja treinada. Na verdade,cada apresentao da rede resulta em uma pequena melhoria de perfor-mance. Em qualquer problema complexo, todo o arquivo de treinamento apresentado centenas, milhares, ou at centenas de milhares de vezes rede.

    Avaliao de desempenho Ao longo do treinamento, preciso avaliar o desem-penho geral da rede. A soma do erro quadrtico de todos os neurnios emtodo o arquivo de treinamento uma boa medida. No caso de reconheci-mento de padres, comum interpretar a deciso da rede como a classecorrespondente ao neurnio com maior sada.No exemplo dado acima, se oneurnio ligado a Sistema normal fornece 0.7 e o neurnio Sistema de-feituoso fornece 0.6, a deciso da rede naquele momento Sistema Nor-mal. Para acompanhar o desempenho nestes casos, comum empregar-seo percentual de erros (ou acertos) em todo o arquivo de treinamento. Sea rede neural encontrar-se em uma situao de baixo desempenho que no

    melhora com o treinamento prolongado, pode-se tentar uma variao nosparmetros de treinamento ou na arquitetura da rede (nmero de neurniosnas camadas escondidas, por exemplo).

    2.2.5 Limitaes da rede de retropropagao

    O PMC ainda hoje em dia a rede neural mais utilizada. Listaremos a seguiras principais limitaes desta rede, que motivaram as pesquisas mais recentes emconexionismo, que sero estudadas adiante:

    Onde entra o tempo? O PMC tem sido usado com sucesso na identificao econtrole de sistemas dinmicos. No entanto, a varivel tempo nestes ca-sos mapeada como outra qualquer (a dinmica do sistema estudada comoum mapeamento esttico entre valores anteriores e futuros das variveis deestado). Parece natural esperar que o tempo tenha um papel mais importanteno aprendizado, e que se a prpria rede se comportar como um sistema din-mico (como a rede de Hopfield) teremos melhores resultados. Imaginemos

    efeitos um peso ligado a uma entrada fictcia que vale sempre 1. Evidentemente, este parmetrotambm ajustado.

    Sistemas Inteligentes 29

  • 8/8/2019 Apostila_-_IntroduoAosSistemasInteligentes

    30/57

  • 8/8/2019 Apostila_-_IntroduoAosSistemasInteligentes

    31/57

    2.2. A REDE DE RETROPROPAGAO

    inteligente. Por outro lado, a capacidade de extrair relaes simblicas pre-

    cisas a partir do aprendizado no parece poder ser representada desta forma.O PMC efetua uma srie de operaes numricas que podem resolver umproblema complexo, para o qual no havia uma teoria completa, mas o co-nhecimento intrnseco nesta soluo no pode ser recuperado, j que tudoo que temos so nmeros representando valores de sada e de interconexo.As conseqncias desta limitao so bastante graves quando se imagina oprojeto de grandes sistemas inteligentes. A transferncia de conhecimentode uma rede para outra ou para qualquer outro sistema praticamente im-possvel. Ter treinado uma rede para efetuar uma certa tarefa no nos adi-anta de quase nada para o treinamento de uma outra rede que executaria

    tarefa semelhante. Conhecimento humano sobre o problema no pode serpassado de nenhuma forma explcita, mas apenas atravs de exemplos. Seo conexionismo pretende mostrar como o pensamento estruturado emergedo nvel subsimblico, estruturas que efetuem a ligao entre estes nveisainda precisam ser buscadas.

    E quando no sabemos qual o erro? A hiptese de que sempre dispomos de exem-plos de operao desejada relacionando explicitamente todas as entradas esadas bastante forte. Os casos mais importantes de aprendizado (envol-vendo controle motor, por exemplo) desenvolvem-se sobre um ambiente queretorna muito pouca informao. O algoritmo de retropropagao de erro

    est longe de modelar esta habilidade dos sistemas animais.

    Sistemas Inteligentes 31

  • 8/8/2019 Apostila_-_IntroduoAosSistemasInteligentes

    32/57

    Captulo 3

    Outras Redes Neurais e Algoritmos

    de Treinamento

    3.1 Melhoramentos ao algoritmo de gradiente

    3.1.1 Introduo

    O processo de aprendizado de uma rede neural no conceitualmente diferente doque se conhece por adaptao de parmetros. Valores dos pesos das interconexes

    (ou sinapses) so modificados para minimizar a diferena entre o desempenhoatual e o desejado para o sistema.A maioria dos algoritmos de otimizao baseiam-se em um mesmo procedi-

    mento iterativo: a cada passo, uma direo de mudana do vetor de parmetros ea amplitude desta mudana so determinadas, e o vetor atualizado. Se deriva-das da funo a ser minimizada podem ser calculadas, a direo mais simples aescolher o sentido contrrio do vetor gradiente da funo com relao aos par-metros. Assim, sendow o vetor de parmetros e E(w) a funo a ser minimizada,um passo de atualizao de parmetros pelo mtodo de gradiente simples pode serexpresso por:

    w[k

    + 1] =w

    [k

    ]

    E(w

    [k

    ])(3.1)

    onde determina o passo de adaptao. No caso de redes neurais, e conhecidocomo taxa ou constante de aprendizado, e a funo a ser minimizada geralmenteo erro quadrtico entre sadas desejada e obtida.

    Em sua forma mais simples, o algoritmo no prev nenhum procedimentode clculo de . Este valor fixo, determinado por tentativa e erro. Um valormuito baixo implica em convergncia demorada, um valor elevado demais leva aoscilaes que podem acabar impedindo a convergncia.

    Alm de todos os problemas com a dificuldade de escolha do valor de e, o fato

    32

  • 8/8/2019 Apostila_-_IntroduoAosSistemasInteligentes

    33/57

    3.1. MELHORAMENTOS AO ALGORITMO DE GRADIENTE

    deste valor ser fixo faz com que a influncia do mdulo do vetor gradiente sobre

    a amplitude resultante de mudana contrarie o que intuitivamente se espera [4]: amudana de pesos ser pequena nos trechos em que a superfcie de erro plana,e maior onde h inclinaoes abruptas. Intuitivamente, uma busca eficiente pelomnimo de erro deveria ter comportamento contrrio, sendo "mais cuidadosa"nostrechos movimentados da superfcie de erro, e tomando passos maiores nas regiesmais planas.

    Algoritmos mais sofisticados do que os de gradiente simples j so conheci-dos h muito no campo de otimizao e matemtica aplicada, e agora vm sendoaplicados em Redes Neurais. A seguir, descrevemos os princpios tericos dosalgoritmos de gradiente conjugado.

    3.1.2 Algoritmo de descida mais ngreme (steepest descent)

    A primeira idia para determinao automtica do passo no algoritmos de gradi-ente obtida observando-se que, definida uma direo de mudana, achar a ampli-tude tima desta mudana um problema de otimizao monodimensional (linesearch), relativamente simples de ser resolvido. Esta idia leva ao algoritmo stee-pest descent, no qual garante-se que em cada passo do processo a adaptao levaa funo ao mnimo alcanvel na direo definida. As equaes deste algoritmoso ento:

    w[k + 1] = w E(w[k]) (3.2)onde o valor de a soluo do seguinte problema de minimizao monodimen-sional:

    mink{E(w[k] E(w[k]))} (3.3)

    Com estimativas do valor timo do passo, o algoritmo de gradiente costumaconvergir, como se espera, em menor nmero de iteraes. No entanto, a pesquisamonodimensional associada aumenta o custo computacional do algoritmo. Ostestes que realizamos com steepest descentrevelaram que, em geral, o empregoda pesquisa monodimensional por si s no compensador em termos de tempo

    de convergncia, ainda que o algoritmo se torne mais robusto quanto a escolha deparmetros. Esta pesquisa usada, no entanto, como parte de alguns algoritmosde gradiente conjugado, como veremos na seo seguinte.

    3.1.3 Algoritmo de gradiente conjugado

    Os polinmios de segundo grau so as funes analticas mais simples que tmponto de mnimo. A aproximao de segunda ordem da funo de erro por srie deTaylor em torno de um vetor de parmetros w fornece-nos uma funo quadrtica

    Sistemas Inteligentes 33

  • 8/8/2019 Apostila_-_IntroduoAosSistemasInteligentes

    34/57

    CAPTULO 3. OUTRAS REDES NEURAIS E ALGORITMOS DETREINAMENTO

    com propriedades interessantes para minimizao.

    E(w +w) Eq(w) (3.4)

    Eq(w) = E(w) + E(w)

    Tw +

    1

    2w

    TE(w)w (3.5)

    onde E(w) a chamada matriz hessiana de E com relao a w.Um ponto crtico desta aproximao satisfaz:

    Eq(w) = 0 (3.6)

    o que nos dE(w)w + E

    (w) = 0 (3.7)

    Esta a equao do chamado mtodo de Newton para o problema de minimizaode funes.

    A cada passo do algoritmo, o ponto crtico w determinado a partir da so-luo destes sistema de equaes que envolve a hessiana. Ao invs de buscar asoluo direta, os algoritmos de gradiente conjugado usam uma soluo iterativapor meio de conjuntos de vetores conjugados. Para funes quadrticas, estesalgoritmos chegam ao ponto crtico em um nmero de passo no superior di-menso do espao. De fato, vamos supor que dispomos de uma base de vetoresdo espao n. O ponto crtico buscado pode ser ento expresso como

    w =n

    i=1

    ipi (3.8)

    onde pi so os vetores da base. Os valores de s podem ser obtidos analitica-mente para funes quadrticas. Em geral, busca-se a cada passo, o valor de quemiminiza a funo na direo determinada (como no algoritmo steepest descent).

    A base pode ser obtida de acordo com a regra de Polak-Ribiere:

    p1 = E(w0) (3.9)

    pj+1 = rj+1 + jpj (3.10)

    rj+1 = E

    (wj) (3.11)wj+1 = wj + jpj (3.12)

    j =(rj+1 rj)

    Trj+1

    ||rj||2(3.13)

    onde w0 o valor do conjunto de pesos antes deste passo de otimizao, e wi ovalor aps cada um dos n sub-passos. Ao final do processo, estaramos em ummnimo se E(W) realmente fosse quadrtica. Como provavelmente no o , oalgoritmo repetido por mais n subpassos.

    Alexandre Romariz 34

  • 8/8/2019 Apostila_-_IntroduoAosSistemasInteligentes

    35/57

    3.2. REDES DE FUNES DE BASE RADIAIS

    +

    Figura 3.1: Rede de Funes de Base Radiais

    Como dito acima, i obtido em uma pesquisa monodimensional. No entanto,verifica-se experimentalmente que a determinao de melhores direes de busca,promovida pelo algoritmo de gradiente conjugado, compensa o custo computaci-onal da pesquisa, o que no ocorria quando esta busca era usada no algoritmo degradiente simples.

    A pesquisa monodimensional envolve em geral duas etapas: uma heursticapara definir um pequeno intervalo onde um mnimo garantidamente ocorre, e umatcnica de subdiviso deste intervalo para pesquisa do mnimo. Uma estratgiapopular a diviso em segmentos ureos (golden search), que garante uma redu-o eficiente do intervalo a cada passo, porque um dos pontos pesquisados sersempre um ponto timo tambm para a seco efetuada no passo seguinte.

    3.2 Redes de funes de base radiais

    As redes de funes de base radiais (Radial Basis Function Networks - RBFNs)so estruturas inspiradas no modelo biolgico de campos sobrepostos de recepo,presentes em regies do crtex cerebral. Procura-se representar neste modelo ocarter localizado e espacialmente organizado da resposta de neurnios em certasregies do sistema nervoso, especialmente no processamento de dados sensoriais.Vrias propriedades interessantes de aprendizado so obtidas nestes sistemas.

    A Figura 3.1 mostra um diagrama de RBFN. Os neurnios da primeira camadacomputam funes com simetria radial, geralmente gaussianas, e a sada umasoma ponderada dos valores da primeira camada (eventualmente normalizada pela

    Sistemas Inteligentes 35

  • 8/8/2019 Apostila_-_IntroduoAosSistemasInteligentes

    36/57

  • 8/8/2019 Apostila_-_IntroduoAosSistemasInteligentes

    37/57

    3.4. REDES DE KOHONEN E SISTEMAS AUTO-ORGANIZVEIS

    se conhece um modelo diferencivel do crtico. A otimizao de performance

    obtida pela explorao ativa do espao das aes de controle e incorporao dasaes que resultaram em melhoria. Por exemplo, o autmato estocstico comeao aprendizado escolhendo aleatoriamente suas aes. O sinal do crtico usadopara atualizar as probabilidades associadas a cada ao. O comportamento vaitornando-se ento menos aleatrio com a evoluo do treinamento, e termina porconvergir para uma poltica determinista de controle.

    A funo do crtico, como afirmado acima, suprir a falta de retorno do am-biente com relao ao desempenho da lei de controle. O crtico deve, portantoavaliar o quanto cada ao contribui para que se caminhe na direo de um estado-objetivo, possivelmente com restries sobre a eficincia da trajetria escolhida.

    A teoria de controle timo se preocupa com critrios deste tipo, e seus algoritmos(programao dinmica, por exemplo) so usados na construo do crtico. A di-ferena principal entre os algoritmos de RL e de controle timo est no fato deque neste ltimo exige-se um modelo preciso da planta, suposio que no estpresente em RL. Alm disto, RL trabalha com o aprendizado on-line da polticatima de controle.

    Apesar de ser uma rea atraente de pesquisa em inteligncia dada sua forterelao com aprendizado dos animais, as tcnicas de RL no se comparam s detreinamento supervisionado em termos de tempo de aprendizado e esforo com-putacional. So poucas as aplicaes prticas efetivamente demonstradas. Seuuso recomendado, portanto, apenas para o caso em que a informao disponvelpara o treinamento realmente de baixa qualidade.

    3.4 Redes de Kohonen e sistemas auto-organizveis

    A idia do mapa auto-organizvel de Kohonen a de construir sistemas que seorganizam internamente a partir da distribuio dos dados de entrada, sem a pre-sena de um professor. A inspirao biolgica vem do fato de que a representaointerna de informaes no crebro freqentemente organizada espacialmente.reas do crtex parecem claramente formar mapas de espaos sensoriais, com

    neurnios com resposta especfica a impulsos de certas regies do espao. Comoexemplo, citamos as respostas especficas para freqncias nas reas do crebroresponsveis por viso e audio.

    O objetivo principal a formao de aglomerados com mxima atividade deresposta a um dado tipo de estmulo. Em termos de implementao biologica-mente plausvel, isto pode ser obtido com realimentao lateral entre neurniosprximos. Na prtica, este mecanismo estimulado da seguinte maneira:

    A rede composta por uma nica camada de neurnios, espacialmente organi-zados (em linha, ou em espaos de vrias dimenses. O importante que haja um

    Sistemas Inteligentes 37

  • 8/8/2019 Apostila_-_IntroduoAosSistemasInteligentes

    38/57

    CAPTULO 3. OUTRAS REDES NEURAIS E ALGORITMOS DETREINAMENTO

    conceito de vizinhana). Todos os neurnios recebem o mesmo vetor de entrada.

    A funo de ativao dos neurnios identidade, o que significa que eles simples-mente efetuam o produto interno entre a entrada e seus vetores de interconexo.Imaginemos que num instante inicial, os vetores de interconexo foram aleatoria-mente fixados, todos com o mesmo mdulo. Dada uma entrada, o neurnio cujovetor estiver mais alinhado (por pura sorte) ter melhor resposta e ser o vence-dor. Ao vencedor e uma certa vizinhana, ser dada a oportunidade de aprender(adaptar seu vetor de pesos), segundo:

    w[t + 1] = w[t] + [t](x[t]w[t]) (3.14)

    seguido de re-normalizao, para que todos os vetores tenham o mesmo mdulo.Os neurnios fora da vizinhana no modificam o seu peso.

    A expresso acima aproxima o vetor w do neurnio do vetor de entrada x.Em uma apresentao subseqente do mesmo vetor de entrada, ser ainda maisprovvel que o mesmo neurnio apresente a melhor resposta. Neurnios podem,assim, se especializar em regies especficas do espao de entrada.

    O processo feito para todos os vetores de entrada existentes, e repetido vriasvezes. O tamanho da vizinhana onde se permite aprendizado comea com valorelevado (que pode comear como toda a rede) e diminui com o tempo, assim comoa taxa de aprendizado .

    A Figura 3.2 mostra um exemplo simplificado de operao da rede, em um

    caso bidimensional com 6 neurnios. Na primeira figura, temos os seis vetores we um hipottico vetor de entrada x. O neurnio 2 ser, neste caso, o vencedor, e nosegundo crculo vemos que os vetores dos neurnios 2, 1 e 3 (sua vizinhana) fo-ram modificados para se aproximarem dos valores de entrada. Se esse processo serepetir por muitas vezes, com apresentao de pontos uniformemente distribudosno crculo, os vetores finais devem convergir para o que mostra a terceira figura,com pesos uniformemente distribudos, e com um claro conceito de vizinhana(neurnios definidos como vizinhos tm pesos sinpticos mais semelhantes).

    Para que servem estes mapas obtidos autonomamente pela rede? Em primeirolugar, no caso de reconhecimento de padres, o mapa pode indicar claramente

    a aglomerao natural em torno dos padres. Neste caso, basta dar nomes sclasses. Em outros casos, a rede usada como sistema de pr-processamento,Por exemplo, os vetores resultantes podem ser usados para definir os centros dasfunes de base da rede RBFN.

    Alexandre Romariz 38

  • 8/8/2019 Apostila_-_IntroduoAosSistemasInteligentes

    39/57

    3.4. REDES DE KOHONEN E SISTEMAS AUTO-ORGANIZVEIS

    1

    2

    3

    6

    4

    5

    1

    2

    34

    5

    6

    1

    2

    3

    6

    4

    5

    x

    Figura 3.2: Exemplo simplificado de operao do mapa de Kohonen. H seisneurnios, e o espao sinptico bidimensional. No primeiro circulo, vemos adisposio inicial dos vetores sinpticos, e a apresentao de um vetor de en-trada x. Os neurnios vencedores (2, 1 e 3) modificam seus pesos sinpticos, quese aproximam mais do vetor de entrada. Com a repetio de diversos padres,espera-se que os vetores sinpticos aproximem-se do apresentado no ltimo cr-culo.

    Sistemas Inteligentes 39

  • 8/8/2019 Apostila_-_IntroduoAosSistemasInteligentes

    40/57

    Captulo 4

    Sistemas nebulosos

    4.1 Introduo

    A lgica sempre foi estudada em Inteligncia Artificial como um formalismo pararepresentao do conhecimento. A representao obtida , no entanto, inflex-vel demais para lidar com conceitos do mundo real sem exigir um nvel elevadode simplificao. Na lgica clssica lidamos com um mundo de clareza, rigor epreciso no qual conceitos reais no se encaixam com facilidade.

    A habilidade humana para manipular conceitos imprecisos vista como a prin-

    cipal diferena entre inteligncia humana e artificial. Consideremos um paradoxoconhecido desde a grcia antiga: um homem com um fio de cabelo a mais do queum homem calvo tambm calvo? Aparentemente, o bom senso no diz que sim.No entanto, esta afirmao em lgica clssica nos fora a concluir que todos socalvos. Afinal, se um homem com nenhum fio de cabelo calvo por definio,e aquele com 1 fio de cabelo a mais continua calvo, ento so calvos os homenscom 2 fios de cabelo, 3 fios de cabelo, ou qualquer nmero finito de fios de cabelo.Obviamente, o conceito de calvcie no se descreve corretamente com um nmeromximo de fios de cabelo.

    A lgica nebulosa (fuzzy logic)1.pretende formalizar a habilidade humana

    de chegar a decises razoveis baseadas em dados imprecisos e qualitativos. Comela procura-se tratar a impreciso e o carter vago dos processos mentais humanos.Um artigo de Zadeh (1965), que prope uma extenso da teoria clssica de

    conjuntos, costuma ser citado como ponto de partida das pesquisas sobre lgicanebulosa, ainda que estas relacionem-se com as lgicas multivaloradas, cuja ori-gem bem mais antiga. Na apresentao que se segue, estudaremos conceitosde maior emprego em aplicaes prticas. No entanto, devemos ressaltar que este

    1Os termos nebuloso e difuso costumam ser usados para traduzir a palavra inglesa fuzzy.Adotaremos aqui o termo nebuloso.

    40

  • 8/8/2019 Apostila_-_IntroduoAosSistemasInteligentes

    41/57

    4.1. INTRODUO

    Normas Triangulares Co-normas Triangulares

    min(x, y) max(x, y)xy x + y xy (soma algbrica)

    Tabela 4.1: Algumas normas e co-normas triangulares, usadas na definio depertinncia para a interseco e unio de conjuntos nebulosos, respectivamente.

    assunto inspira diferentes abordagens. Sempre que necessrio, citaremos os cami-nhos alternativos, que fogem ao escopo deste curso. Os conceitos sero apresen-tados, quando for possvel, como extenso de seus equivalentes da teoria clssica,

    o que nos parece facilitar a compreenso.Um conjunto nebuloso caracterizado por uma funo de pertinncia (ou fun-o indicadora) que toma valores no intervalo [0,1]. Em outras palavras, umconjunto no qual o conceito clssico de pertinncia (pertence ou no pertence) substitudo pela idia de grau de pertinncia. Desta maneira, podemos caracteri-zar de forma mais razovel certos conjuntos nos quais a fixao de limites ntidosde pertinncia muito artificial. Como exemplo, podemos citar o conjunto daspessoas altas em uma populao, ou o conjunto dos nmeros pequenos em umintervalo, ou pessoas calvas.

    A extenso das operaes de unio e conjuno para conjuntos nebulosos feita usando-se as chamadas normas triangulares (interseco) e co-normas trian-gulares (unio). Explicitamente, se A e B so conjuntos nebulosos em um universode discurso U, e IA(x) o valor da funo de pertinncia do conjunto A no pontox U ou seja, uma indicao de quanto o ponto x pertence ao conjunto A ,temos

    IAB = IA IB (4.1)

    IAB = IA IB (4.2)

    onde representa alguma norma triangular e alguma co-norma. A Tabela 4.1mostra algumas normas e co-normas freqentemente utilizadas.

    fcil notar que estas operaes concordam com a unio e a interseco cls-sicas quando as funes de pertinncia tomam valores 0 e 1. Portanto, a unioe interseco de conjuntos nebulosos podem ser realizadas de vrias maneiras, ea escolha de uma delas normalmente guiada por procedimentos de tentativa eerro ou por consideraes de custo computacional (estas evidentemente levam auma preferncia pelo mximo para unio e mnimo e produto para interseco).Voltaremos a este assunto na discusso dos controladores nebulosos.

    O complemento de um conjunto nebuloso usualmente definido segundo

    IA = 1 IA (4.3)

    Sistemas Inteligentes 41

  • 8/8/2019 Apostila_-_IntroduoAosSistemasInteligentes

    42/57

    CAPTULO 4. SISTEMAS NEBULOSOS

    H muitas outras alternativas (por exemplo, todas a famlia de funes (1x)n,

    mas no encontramos na literatura aplicaes prticas em que definies diferen-tes fossem usadas.

    4.2 Lgica nebulosa

    A definio dos conceitos da chamada lgica nebulosa a partir da extenso da te-oria clssica de conjuntos costuma ser apresentada como um simples trabalho deassociao entre conceitos da teoria de conjuntos e conceitos de lgica. Assim,associa-se o conceito de pertinncia ao de valor-verdade de uma proposio l-

    gica, o de unio, interseco e complemento de conjuntos s operaes ou, e eno, respectivamente; a inferncia vista como uma relao entre conjuntos.Estas associaes esto plenamente justificadas no campo da lgica clssica,

    porque conhecido o isomorfismo entre lgebra de Boole e a estrutura do clculoproposicional clssico. No campo da teoria dos conjuntos nebulosos, as inmerasmaneiras de estender as operaes clssicas trazem dificuldades quanto maneiramais adequada e rigorosa de apresentar os fundamentos da lgica nebulosa. Ostrabalhos no campo de engenharia no costumam preocupar-se com esta questo.Considera-se que as associaes feitas so razoveis e, principalmente, levam abons resultados.

    4.3 Regras nebulosas e possibilidade

    Regras (ou afirmaes condicionais) so formas eficientes de formalizar conheci-mento nos sistemas de inteligncia artificial (Nilsson 1980). O emprego de ele-mentos da teoria dos conjuntos nebulosos permite a manipulao mais flexvel deregras, com inferncias sobre condies no totalmente satisfeitas ou no clara-mente definidas. Um exemplo de regra que pode ser tratada desta forma : "Se oalvo est prximo, a velocidade deve ser diminuda". Este tipo de inferncia, de-nominada raciocnio aproximado (Zadeh 1975) procura reproduzir a capacidade

    humana de lidar com impreciso e incerteza, e estabelece pontos de contato entreteoria de conjuntos nebulosos e probabilidade.

    De fato, podemos dar funo de pertinncia de um conjunto nebuloso umainterpretao que torna este relacionamento mais claro. Imaginemos que uma va-rivel X tome valores em um universo de discurso U. Uma afirmao do tipo "X F", onde F representado por um conjunto nebuloso sobre U, pode ser vista comouma restrio nebulosa aos valores de X. Por exemplo, o fato "Joo alto"criarestries (no rgidas) sobre os valores aceitveis para a sua altura. Diz-se en-to que a funo de pertinncia IF(x) representa a distribuio de possibilidades

    Alexandre Romariz 42

  • 8/8/2019 Apostila_-_IntroduoAosSistemasInteligentes

    43/57

    4.4. SADA DE UMA REGRA NEBULOSA

    associada a x.

    A palavra "possvel", em linguagem natural, tem basicamente dois significa-dos: um fsico ("factvel") e um lgico ("compatvel com a informao dispon-vel"). Na definio apresentada acima, este conceito origina-se no de freqnciasde eventos (probabilidade) mas da traduo de restries suaves sobre variveisem termos de conjuntos nebulosos. No entanto, probabilidade e possibilidade noso totalmente independentes. Um evento de possibilidade reduzida no pode terelevada probabilidade e, no caso limite, um evento impossvel tem necessaria-mente probabilidade nula. Podemos ento requerer que graus de probabilidadesejam um limite inferior para o grau de possibilidade (princpio da consistncia).Eventos mutuamente excludentes podem ter simultaneamente graus elevados de

    possibilidade. Assim, graus de possibilidade no so aditivos, ao contrrio dos deprobabilidade. Vale notar que a noo de que graus subjetivos de certeza no soaditivos bastante antiga.

    Estes conceitos intuitivos podem ser formalizados com a definio de medidase integrais nebulosas. Em uma medida nebulosa, o requerimento de aditividade

    m

    j

    Aj

    =

    j

    mAj (4.4)

    substitudo pela condio mais fraca de monotonicidade:

    A B m(A) m(B) (4.5)

    Ainda h uma enorme polmica sobre o relacionamento exato entre probabili-dade e conjuntos nebulosos, e sobre as vantagens e desvantagens destas ferramen-tas no tratamento da incerteza.

    4.4 Sada de uma regra nebulosa

    Ainda que no tenhamos acompanhado em detalhes as caractersticas internas deum sistema nebuloso, podemos compreender que h um conjunto de regras que re-presentam o conhecimento (impreciso) sobre as aes a tomar. Dada uma situao

    especfica, algumas regras so plenamente aplicveis, outras apenas parcialmente.Ao combinarmos as diversas regras, temos uma distribuio de possibilidade paraa varivel de sada (digamos, a posio de uma vlvula). Obviamente, esta dis-tribuio de possibilidades precisa ser transformado em um valor numrico nicopara ser apresentado ao controlador. O mtodo mais difundido para definir o valornumrico de sada a partir de uma distribuio nebulosa o clculo do centro demassa:

    z =

    nj=1

    C(zj)zj

    n

    j=1C(zj)

    (4.6)

    Sistemas Inteligentes 43

  • 8/8/2019 Apostila_-_IntroduoAosSistemasInteligentes

    44/57

    CAPTULO 4. SISTEMAS NEBULOSOS

    PP

    x

    ZE

    dx

    ZE

    dx

    ZE

    x

    x=10

    NP

    F

    dx=-10

    ZE

    F

    F=-3

    Figura 4.1: Exemplo de determinao da sada de um sistema fuzzy. A primeiralinha representa a aplicao da regra se x pequeno e positivo e dx zero, ento

    F negativo e pequeno. A segunda representa a aplicao de outra regra sex zero e dx zero, ento F deve ser zero. Ambas so aplicadas para o casoespecfico x=10 e dx=-10. O conjunto nebuloso resultante para F mostrado naltima linha. A aplicao do mtodo do centro de massa daria o valor final F=3para este caso. O exemplo foi baseado em [15].

    onde zj so os valores possveis para a sada do atuador, e C(zj) (mais exatamenteIC(zj) a pertinncia do valor zi ao conjunto nebuloso C definido pela combi-nao das regras aplicadas. A Figura 4.1 mostra um exemplo de determinao devalores de sada a partir de regras nebulosas.

    4.5 Dificuldades e Aplicaes Prticas

    comum dizer-se que, no projeto de controladores nebulosos, o conhecimento deoperadores humanos experientes pode ser aproveitado. Deve-se notar, no entanto,que este apenas o ponto de partida. O ajuste das funes de pertinncia dosconjuntos nebulosos envolvidos e a escolha dos operadores costuma levar a umlongo trabalho de tentativa e erro. A transferncia das estratgias de deciso de

    Alexandre Romariz 44

  • 8/8/2019 Apostila_-_IntroduoAosSistemasInteligentes

    45/57

    4.6. REDES NEURAIS E LGICA NEBULOSA

    especialistas e operadores humanos para estes sistemas no tarefa fcil, mesmo

    com a flexibilidade apresentada por regras nebulosas. Esta dificuldade, aliada aofato de serem recentes os resultados tericos quanto estabilidade e robustez des-tes controladores, faz com que alguns especialistas tenham restries aos sistemasnebulosos de controle, apesar dos bons resultados obtidos.

    Encontram-se na literatura numerosas aplicaes de controle nebuloso. Desta-camos: controle de aquecedores, de sinais de trnsito, de trfego areo, robtica,controle automtico de velocidade e da transmisso em automveis, controle dereatores nucleares. A empresa Hitachi Ltd. desenvolveu um sistema de operaoautomtica de trens baseado em lgica nebulosa, que vem sendo usado no metrde Sendai (Japo) desde 1987.

    Uma aplicao interessante encontrada na literatura o controle de direo deveculo proposto por Sugeno & Nishida (1985). O problema definir a direo aser seguida por um carro mantido a velocidade constante em um percurso sinuoso,dadas a direo atual e as distncias para os limites da pista. So empregadas re-gras nebulosas com conseqentes lineares, como visto anteriormente. A partiodo espao de entrada (nmero de conjuntos nebulosos) foi arbitrariamente fixada.Ento, a partir de exemplos do percurso do carro quando guiado por operadoreshumanos, foram identificados os parmetros dos conseqentes de 20 regras. Osautores apresentam bons resultados, no apenas em simulaes, mas no controleefetivo de um pequeno modelo a baixa velocidade.

    A pesquisa em sistemas nebulosos ainda encontra algumas restries em cer-tos meios. So vrias as razes para este fato. Em primeiro lugar, a teoria dosconjuntos um campo extremamente frtil para polmica em matemtica, e deuma extenso desta teoria que partimos ao definir conjuntos nebulosos.

    Em segundo lugar, ainda no est bem resolvida a relao entre conjuntosnebulosos e teoria da probabilidade. H uma enorme resistncia por parte deestatsticos em aceitar esta nova teoria como algo til e no coberto pelo clculode probabilidades.

    As aplicaes em controle, o ponto mais "vendido"de lgica nebulosa tambmrecebem crticas de membros da teoria de controle. Em parte, por haver umanuvem de marketing em torno do tema, em parte porque as pesquisas em controle

    nebuloso raramente envolvem especialistas em controle.De qualquer forma, os resultados da teoria de conjuntos nebulosos so nume-

    rosos e significativos, e no h motivo para o preconceito que a rea desperta.

    4.6 Redes Neurais e Lgica Nebulosa

    Procuramos, na teoria dos conjuntos nebulosos, um formalismo adequado parauma descrio aproximada das operaes internas de uma rede neural. interes-

    Sistemas Inteligentes 45

  • 8/8/2019 Apostila_-_IntroduoAosSistemasInteligentes

    46/57

    CAPTULO 4. SISTEMAS NEBULOSOS

    sante observar neste ponto as semelhanas e diferenas existentes entre esta teoria

    e a de redes, e discutir que vantagens podemos esperar da combinao das duas.Tanto redes neurais quanto lgica nebulosa se propem a desenvolver computa-cionalmente habilidades tpicas do raciocnio humano, diminuir a diferena entreinteligncia humana e artificial, entender "o que torna as pessoas mais espertasdo que as mquinas". As abordagens so, no entanto, bem diferentes. A teoriados conjuntos nebulosos tornar formalismos tradicionais (conjuntos, relaes, re-gras, etc.) tolerantes impreciso e adequados ao processamento de informaesvagas. J as redes neurais surgem fundamentalmente de consideraes quanto arquitetura do processamento e quanto ao nvel de anlise dos processos cogniti-vos. As abordagens diferentes no nos impedem de identificar vrios pontos de

    contato entre as teorias.Fundamentalmente, em ambas est presente a idia de substituir smbolos dis-cretos por quantidades contnuas. Ambas enfatizam o processamento numricode informaes. Os trabalhos que procuram analisar a estrutura das operaesinternas das redes neurais indicam em vrios momentos pontos de contato comlgica nebulosa. O processamento em certos modelos de redes neurais pode servisto como uma busca por um estado no qual a obedincia s restries repre-sentadas pelas conexes a maior possvel. Existe, portanto, algo semelhante aodisparo simultneo de muitas regras possivelmente conflituosas e com condiesparcialmente satisfeitas.

    At mesmo a sutil relao com probabilidade e estatstica um ponto comuma redes neurais e lgica nebulosa. Vimos que a definio de conjuntos nebulosospode ser interpretada como uma distribuio de possibilidade, um conceito subje-tivo de factibilidade ou compatibilidade com a informao disponvel. Por outrolado, Smolensky afirma que um sistema sub-simblico realiza um conjunto de in-ferncias que, como um todo, produzem a sada que melhor se ajusta s condiesde entrada "num sentido definido pelo conhecimento estatstico armazenado emsuas conexes".

    Surge ento a expectativa de que os conceitos de lgica nebulosa constituamuma ferramenta para a anlise interna de redes neurais. Alm disso, as redes neu-rais podem contribuir muito na construo de sistemas nebulosos, principalmente

    no ajuste automtico de parmetros. Tcnicas de aprendizado podem substituir odifcil processo de ajuste por tentativa.

    Alexandre Romariz 46

  • 8/8/2019 Apostila_-_IntroduoAosSistemasInteligentes

    47/57

    Captulo 5

    Algoritmos Genticos

    5.1 Introduo

    No Captulo 1, vimos que o processamento de informao realizado em sistemasbiolgicos serve de inspirao para uma nova arquitetura computacional, deno-minada sistemas conexionistas ou redes neurais artificiais. O processo biolgicode evoluo tambm serve de inspirao para uma classe relativamente nova dealgoritmos computacionais, denominados Algoritmos Genticos (GAs). Faremosuma exposio dos fundamentos desta tcnica, acompanhando aquela feita por

    Mitchell 1998 [16].A identificao do mecanismos de seleo natural, e o seu uso para explicao

    da variedade e complexidade da vida sobre a Terra um dos maiores feitos do pen-samento cientfico. Os elementos para que ocorra evoluo envolvem uma seleode indivduos que chegam fase reprodutiva, hereditariedade de caractersticasentre animais e suas proles, e pequenas alteraes aleatrias dessas caractersti-cas. A repetio deste processo seletivo por muitas geraes faz surgirem ajustesespecficos e complexos nos seres vivos, mesmo que o processo de variao sejaaleatrio em sua origem.

    Tambm na engenharia, a determinao de uma melhor soluo para o pro-

    blema dificultada pela aparente inexistncia de modelos para guiar numerica-mente a avaliao de propostas. No caso de Redes Neurais, vimos como em mui-tas situaes sabemos apenas se o resultado final bom ou ruim, mas no qualvarivel interna do sistema produziu um erro, ou de quanto foi esse erro. Assim,GAs so solues atraentes quando o problema envolve uma variedade exponen-cial de possveis alternativas e nosso conhecimento sobre o assunto incompletopara definir um mtodo quantitativo de anlise. Um processo artificial de sele-o dentre uma populao inicial de possveis solues, alteradas ligeiramente deuma gerao para a outra, pode produzir uma soluo prxima tima, mesmo

    47

  • 8/8/2019 Apostila_-_IntroduoAosSistemasInteligentes

    48/57

  • 8/8/2019 Apostila_-_IntroduoAosSistemasInteligentes

    49/57

    5.2. ELEMENTOS PRINCIPAIS E EXEMPLO

    1 0 0 1 1 0 1 0 1 0 1 0 1 1

    1 0 0 1 0 1 1 0 1 0 1 1 0 1

    Figura 5.1: Exemplo de crossover no stio 3. Os cromossomos que representamas solues (linha superior) so quebrados em dois pedaos, e as novas soluesgeradas misturam trechos dos cromossomos antes e depois das quebras (linha in-ferior).

    Crossover Existe, no algoritmo, uma chance de que os cromossomos-pais sejamintercambiados em um certo ponto para gerar os cromossomos-filhos. Porexemplo, se os cromossomos 1001101 e 0101011 forem selecionados comopais para uma nova gerao, e ocorrer crossoverna terceira posio, serogeradas solues-filhas 1001011 e 0101101 (ver Figura 5.