Anda di halaman 1dari 91

Universidade Federal de Santa Catarina Departamento de Automa c ao e Sistemas

Introdu c ao ` a Intelig encia Computacional

Eduardo Camponogara

Mar co de 2006

Sum ario
1 Intelig encia Computacional 1.1 O que e intelig encia computacional? . . . 1.2 Intelig encia articial ou computacional? . 1.3 M aquinas voadoras e m aquinas pensantes 1.4 Modelos da mente . . . . . . . . . . . . . 1.5 Ci encia e engenharia . . . . . . . . . . . 1.6 Rela c oes com outras disciplinas . . . . . 1.7 Agentes . . . . . . . . . . . . . . . . . . 1.8 Refer encias . . . . . . . . . . . . . . . . 1 1 1 2 3 4 5 6 7 9 9 9 13 14 16 23 26 30 33 36 38 38 39 41 41 43 43 44 49 54 61 63 69 74

. . . . . . . .

. . . . . . . .

. . . . . . . .

. . . . . . . .

. . . . . . . .

. . . . . . . .

. . . . . . . .

. . . . . . . .

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

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

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

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

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

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

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

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

2 Redes Neurais 2.1 Introdu c ao . . . . . . . . . . . . . . . . . . . . . . . . . 2.2 C erebro: um sistema de processamento de informa c oes 2.3 Modelo do neur onio articial . . . . . . . . . . . . . . . 2.4 Regress ao linear . . . . . . . . . . . . . . . . . . . . . . 2.5 Redes neurais lineares . . . . . . . . . . . . . . . . . . 2.6 Redes multi-camadas . . . . . . . . . . . . . . . . . . . 2.7 Propaga c ao reversa (backpropagation) . . . . . . . . 2.8 Classica c ao de padr oes . . . . . . . . . . . . . . . . . 2.9 Perceptron . . . . . . . . . . . . . . . . . . . . . . . . . 2.10 Regra delta . . . . . . . . . . . . . . . . . . . . . . . . 2.11 Princ pios para projeto de classicadores . . . . . . . . 2.11.1 M etodo antigo . . . . . . . . . . . . . . . . . . . 2.11.2 M etodo revisado . . . . . . . . . . . . . . . . . 2.12 Refer encias . . . . . . . . . . . . . . . . . . . . . . . . 2.13 Exerc cios . . . . . . . . . . . . . . . . . . . . . . . . . 3 L ogica Fuzzy (Nebulosa) 3.1 Introdu c ao . . . . . . . . . . . . . . . . . 3.2 Conjuntos fuzzy . . . . . . . . . . . . . . 3.3 Opera c oes sobre conjuntos fuzzy . . . . . 3.4 L ogica fuzzy . . . . . . . . . . . . . . . . 3.5 Introdu c ao a sistemas de controle fuzzy . 3.6 Controle fuzzy em detalhes . . . . . . . . 3.7 Implementa c ao de um controlador fuzzy 3.8 Refer encias . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

ii

Sum ario

4 Computa c ao Evolutiva 4.1 Introdu c ao ` a computa c ao evolutiva . . . . . . . . . . 4.1.1 Estrat egias evolucion arias e auto-organiza c ao 4.2 Algoritmo gen etico (AG) . . . . . . . . . . . . . . . . 4.2.1 Gen etica e evolu c ao . . . . . . . . . . . . . . . 4.2.2 Adapta c ao biol ogica . . . . . . . . . . . . . . 4.2.3 Hereditariedade com evolu c ao simulada . . . . 4.2.4 Popularidade do algoritmo gen etico . . . . . . 4.2.5 Algoritmo gen etico em detalhes . . . . . . . . 4.2.6 Operador gen etico cross-over . . . . . . . . . . 4.2.7 Exemplo de aplica c ao . . . . . . . . . . . . . . 4.2.8 Quest oes pr aticas . . . . . . . . . . . . . . . . 4.2.9 Schema Theorem . . . . . . . . . . . . . . . . 4.3 Refer encias . . . . . . . . . . . . . . . . . . . . . . . 4.4 Exerc cios . . . . . . . . . . . . . . . . . . . . . . . . 5 Considera c oes Finais

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

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

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

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

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

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

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

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

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

75 75 76 77 77 77 77 78 79 79 80 81 81 83 83 85

Cap tulo 1 Intelig encia Computacional


Computational intelligence is the study of the design of intelligent agents. [David Poole, Alan Mackworth, and Randy Goebel, 1998]

1.1

O que e intelig encia computacional?

Intelig encia computacional e o estudo e projeto de agentes inteligentes. Um agente e alguma coisa que atua no ambiente ele faz alguma coisa. Agentes incluem vermes, cachorros, termostatos, avi oes, homens, organiza c oes e a sociedade. Um agente inteligente e um sistema que age de forma inteligente: o que ele faz e apropriado para as circunst ancias e objetivos, e ex vel com respeito a ambientes e objetivos variantes no tempo, aprende a partir da experi encia, e toma as a c oes apropriadas dados a limita c ao sensorial e a capacidade computacional. O objetivo cient co da intelig encia computacional e o entendimento dos princ pios que induzem comportamento inteligente, em sistemas naturais e articiais. A hip otese principal e que racioc nio equivale ` a computa c ao. O objetivo mais pr atico e a especica c ao de m etodos para projeto de artefatos inteligentes e u teis.

1.2

Intelig encia articial ou computacional?

Intelig encia articial (IA) e o nome da disciplina estabelecida para intelig encia computacional (IC), mas o termo intelig encia articial e fonte de discord ancia e confus ao. Podemos dizer que intelig encia articial e intelig encia verdadeira? Talvez n ao, da mesma forma que uma p erola de imita c ao n ao e uma p erola verdadeira. Intelig encia sint etica poderia ser uma alternativa mais razo avel, como uma p erola sint etica n ao e natural mas mesmo assim e uma p erola verdadeira. Como o objetivo central est a no entendimento de sistemas naturais e articiais (sint eticos), preferimos o termo intelig encia computacional. Este termo ainda tem a vantagem de fazer a hip otese computacional expl cita. A confus ao sobre o nome da disciplina pode, em parte, ser atribu da a uma fus ao do prop osito da disciplina com sua metodologia. O prop osito e entender como comportamento inteligente e poss vel. A metodologia est a no projeto, constru c ao e experimenta c ao de sistemas computacionais capazes de executar tarefas tipicamente

1. Intelig encia Computacional

vistas como inteligentes. A constru c ao destes artefatos e uma atividade essencial j a que intelig encia computacional e, acima de tudo, uma ci encia emp rica; contudo n ao pode ser confundida com seu prop osito cient co. Outra raz ao para remover o adjetivo inteligente adv em da conota c ao de intelig encia simulada. Contr ario a uma m a interpreta c ao, o objetivo n ao e simular comportamento inteligente. O objetivo e entender sistemas inteligentes (naturais ou sint eticos) por meio da sintetiza c ao destes sistemas. A simula c ao de um terremoto n ao e um terremoto; no entanto, desejamos criar entidades inteligentes, da mesma forma que voc e poderia imaginar a cria c ao de um terremoto. A confus ao tem como raiz a realiza c ao de simula c oes em computadores. Entretanto, devemos ter computadores digitais como sistemas de interpreta c ao autom atica, formal e de manipula c ao simb olica que s ao ferramentas especiais: eles podem produzir coisas reais. O agente inteligente obvio e o ser humano. Muitos de n os acreditam que cachorros s ao inteligentes, mas n ao dir amos que vermes, bact erias ou insetos s ao inteligentes. Existe uma classe de agentes que s ao mais inteligentes que o ser humano, a classe das organiza c oes. Col onias de formigas s ao exemplos t picos de organiza c oes. Cada indiv duo tem intelig encia limitada, mas uma col onia de formigas pode atuar de forma mais inteligente que qualquer formiga. A col onia pode descobrir comida e explorar a reserva de forma mais ecaz bem como se adaptar a situa c oes variantes. De maneira similar, empresas podem desenvolver, manufaturar e distribuir produtos de maneira que a soma das habilidades necess arias e muito maior do que a habilidade de qualquer indiv duo. Computadores modernos, do n vel mais baixo do hardware ao n vel mais alto de software, s ao mais complicados do que pode ser entendido por qualquer ser humano, apesar disto eles s ao fabricados diariamente por organiza c oes de seres humanos. A sociedade humana, vista como um agente, e possivelmente o agente mais inteligente conhecido.

1.3

M aquinas voadoras e m aquinas pensantes

instrutivo considerar a analogia entre o desenvolvimento de m E aquinas voadoras durante os u ltimos s eculos e o desenvolvimento de m aquinas pensantes nas u ltimas d ecadas. Primeiro, note que existem diversas maneiras de se entender a no c ao de voar. Uma maneira consiste em dissecar um p assaro e fazer hip oteses sobre as caracter sticas estruturais necess arias para um agente voador. Com este m etodo de investiga c ao de p assaros, morcegos e insetos poder amos sugerir que a habilidade de voar envolve o bater de asas por uma estrutura coberta de penas ou uma membrana. Al em disso, a hip otese poderia ser vericada envolvendo penas nos bra cos, batendo os bra cos e saltando. Poder amos ainda imaginar um pesquisador armar que uma estrutura com camadas de penas e suciente para desenvolver a habilidade de voar. Uma metodologia alternativa est a no entendimento do v oo sem nos restringirmos ` as ocorr encias naturais. Isto envolve a constru c ao de artefatos em formas diferentes das de um p assaro. Este m etodo forneceu uma ferramenta u til para o entendimento dos princ pios que regem a habilidade de voar, conhecidos como aerodin amica, e que levaram ` a constru c ao de avi oes.

1. Intelig encia Computacional

Esta diferen ca distingue intelig encia computacional de outras disciplinas cient cas da area cognitiva. Os cientistas do dom nio de IC est ao interessados em testar hip oteses gerais sobre a natureza da intelig encia por meio da constru c ao de m aquinas que s ao inteligentes e que n ao imitam simplesmente o comportamento de homens e organiza c oes. Isto nos permite uma outra maneira de tratar a quest ao Computadores podem realmente pensar? ao consideramos a quest ao an aloga Avi oes podem realmente voar?.

1.4

Modelos da mente

Atrav es dos tempos seres humanos zeram uso de tecnologia para modelar a si pr oprios. A par abola Tao sta do livro de Lie Tzu descreve um rob o que se comportava como um ser humano, demonstrando habilidades sensoriais e intera c ao que n ao eram diferentes das de um homem. No Egito e Gr ecia Antiga tamb em h a exemplos deste tipo de atividade. Cada nova tecnologia foi utilizada para construir agentes inteligentes ou modelar a mente. Rel ogios, hidr aulica, sistemas de telefonia, hologramas e computadores anal ogicos foram propostos como met aforas tecnol ogicas de intelig encia e como mecanismos para modelar a mente. A partir destas ocorr encias podemos especular que uma equival encia funcional n ao implica em uma equival encia estrutural. Para produzir comportamento inteligente n ao e necess ario reproduzir as conex oes estruturais do corpo humano. Isto traz ` a tona a indaga c ao se computadores digitais s ao apenas mais uma met afora tecnol ogica, talvez a ser superada por outros mecanismos. Em parte, uma resposta deve ser emp rica. Teremos de aguardar resultados substanciais para se chegar a uma resposta. Contudo, h a raz oes para se acreditar que a resposta e n ao. Algumas raz oes s ao emp ricas: os resultado obtidos at e os dias atuais s ao signicativos, mas n ao s ao conclusivos. H a outras raz oes. Considere as duas hip oteses abaixo. A primeira e conhecida por hip otese s mbolo-sistema: Racioc nio e manipula c ao de s mbolos. A segunda hip otese e chamada hip otese de Church-Turing [1]: Qualquer manipula c ao simb olica pode ser realizada em uma m aquina de Turing. A m aquina de Turing e um modelo abstrato do computador digital com mem oria ilimitada. Esta hip otese implica que qualquer manipula c ao simb olica, e portanto racioc nio, pode ser realizada em computadores digitais. N ao h a como provar estas hip oteses matematicamente. Tudo que pode ser feito e empiricamente test a-las atrav es da constru c ao de sistemas de racioc nio. Por qu e dever amos acreditar que as hip oteses s ao razo aveis e at e mesmo verdadeiras? A raz ao e que a comunica c ao verbal (linguagem), uma das poucas formas de comunica c ao com a mente, consiste da transmiss ao de s mbolos. Racioc nio tem s mbolos como entradas e sa das em termos de linguagem e, portanto, a fun c ao entre entrada e sa da tamb em pode ser descrita simbolicamente e pode ser implementada por meio da manipula c ao simb olica. Al em disso, a intelig encia encontrada na sociedade e nas

1. Intelig encia Computacional

organiza c oes e transmitida por meio de linguagens e s mbolos. T ao logo algo seja expresso na linguagem, racioc nio sobre o que foi expresso consiste de manipula c ao simb olica. Estas hip oteses n ao nos dizem como implementar racioc nio em um certo computador esta e a tarefa da intelig encia computacional. Elas nos dizem que a computa c ao e uma met afora adequada para racioc nio. Estaa hip otesea n ao armam que cada detalhe de computa ca o deve ser interpretado simbolicamente. Elas tamb em n ao dizem que cada instru c ao de m aquina em um computador, ou a fun c ao de cada neur onio do c erebro, pode ser interpretado simbolicamente. Elas nos dizem que existe um n vel de abstra c ao no qual racioc nio pode ser interpretado com manipula c ao simb olica, e que este n vel pode explicar as a c oes de um agente com base nas entradas. Antes de aceitar estas hip oteses, podemos ainda considerar como elaa podem estar erradas. Uma alternativa e assumir que as a c oes s ao provenientes de uma fun c ao cont nua das entradas para um agente tal que os valores intermedi arios n ao necessariamente correspondem a algo com signicado. E at e mesmo poss vel que a funcionalidade n ao seja interpretada simbolicamente, sem a necessidade de recorrer ao uso de n umeros sem signicado. Alternativas est ao sendo perseguidas em redes neurais e rob os reativos inspirados em insetos articiais.

1.5

Ci encia e engenharia

Como sugerido pela analogia com m aquinas voadoras, existe uma tens ao entre a ci encia da intelig encia computacional (que tenta entender os princ pios por tr as do racioc nio) e a engenharia da intelig encia computacional (que constr oi programas para resolver problemas particulares). Esta tens ao e uma parte essencial desta disciplina. Como IC e uma ci encia, a literatura neste dom nio deve ser manifestada por meio de m etodos cient cos, especialmente a cria c ao e teste de teorias refut aveis. Quest oes obvias s ao Do que tratam as teorias de IC? e Como se testaria uma teoria caso se conhecesse alguma?. Teorias de IC t em a ver com problemas interessantes que podem ser representados e resolvidos por computador. Teorias s ao refor cadas empiricamente atrav es da constru c ao de implementa c oes, que s ao avaliadas por princ pios tradicionais de ci encia da computa c ao. N ao e poss vel realizar intelig encia computacional sem especicar teorias e construir prot otipos; eles s ao claro que um cientista n inexoravelmente conexos. E ao precisa realizar ambos, mas ambos precisam ser realizados. Um experimento n ao tem signicado algum sem uma teoria a ser avaliada, e uma teoria sem evid encia no sentido de suport a-la ou refut a-la e de pouco valor. O princ pio de Ockhams Razor e o guia mestre: sempre prera teorias simples e implementa c oes menos complexas. Com este pano de fundo, podemos considerar uma das quest oes mais recorrentes no campo da intelig encia computacional: o comportamento humano e algor tmico?. N ao precisamos tentar responder esta quest ao ao aceitarmos que a resposta n ao e conhecida, e que uma resposta e o objetivo das ci encias cognitivas e da intelig encia computacional.

1. Intelig encia Computacional

1.6

Rela c oes com outras disciplinas

A intelig encia computacional e uma disciplina jovem. Outras disciplinas diversas, incluindo losoa, biologia evolucion aria, ci encia pol tica, engenharia de controle e outras, tamb em v em estudando intelig encia h a mais tempo. Inicialmente, podemos discorrer sobre a rela c ao da losoa e psicologia com o estudo da intelig encia, para ent ao depois discutir a rela c ao com a ci encia da computa c ao. A intelig encia computacional poderia ser descrita como psicologia sint etica, losoa experimental ou epistemologia computacional epistemologia e o estudo do conhecimento. A IC pode ser vista como uma forma de estudar o velho problema da natureza do conhecimento e da intelig encia, mas com um m etodo experimental muito mais poderoso do que o dispon vel no passado. Em vez de se observar apenas o comportamento externo de sistemas inteligentes, como a losoa, psicologia, economia e sociologia tradicionalmente zeram, somos agora capazes de realizar experimentos com modelos de comportamento inteligente. Tais modelos est ao abertos ` a inspe c ao, podem ser reprojetados e submetidos ` a experimenta c ao de forma completa e rigorosa. Em palavras, agora podemos construir modelos que os l osofos s o podiam discutir no n vel te orico. Agora podemos experimentar como estes modelos e n ao apenas discutir propriedades abstratas. As teorias podem ser fundamentadas empiricamente atrav es de experimenta c ao. Da mesma forma que o objetivo da aerodin amica n ao e sintetizar p assaros, mas de entender os fen omenos relacionado ` a habilidade de voar atrav es da constru c ao de m aquinas voadoras, o objeto u ltimo da intelig encia computacional n ao e necessariamente a simula c ao em larga-escala da intelig encia humana. A no c ao de validade psicol ogica separa o trabalho em IC em duas categorias: um que se preocupa em imitar a intelig encia, freq uentemente chamado de modelagem cognitiva; e outro que n ao se preocupar em imit a-lo. Para enfatizar o desenvolvimento da intelig encia computacional como ci encia, n ao estamos preocupados com a validade psicol ogica, mas como o desejo pr atico de criar programas que resolvem problemas reais. Algumas vezes ser a importante que o computador raciocine sobre um problema de forma assemelhada ao racioc nio humano. Isto e essencialmente importante quando desejamos uma explica c ao de como se chegou ` a resposta. Alguns aspectos da cogni c ao humana talvez n ao devam ser replicados como, por exemplo, a tend encia de cometer erros de aritm etica. Intelig encia computacional est a relacionada com a disciplina de ci encia da computa c ao. Enquanto h a v arios cientistas fora da ci encia da computa c ao que conduzem pesquisas em IC, a maior parte dos pesquisadores em IC (ou IA) e membro de departamentos de ci encia da computa c ao. Acreditamos que isto seja apropriado visto que o estudo da computa c ao e central para a intelig encia computacional. O entendimento de algoritmos, estruturas de dados e complexidade combinat oria s ao essenciais para a constru c ao de m aquinas inteligentes. E tamb em surpreendente o quanto a ci encia da computa c ao se beneciou de trabalhos oriundos da intelig encia articial, desde as id eias de tempo compartilhado at e sistemas de algebra computacional. H a outros campos cujo objetivo e a constru c ao de m aquinas que agem de forma inteligente. Dois destes campos s ao a engenharia de controle e a pesquisa operacional. Estes campos tem ra zes em pontos diferentes da IC, especicamente o uso

1. Intelig encia Computacional

de matem atica cont nua. Visto que a constru c ao de agentes inteligentes envolve o controle cont nuo e o racioc nio do tipo IC, estas disciplinas devem ser vistas com simbi oticas com a IC. Um estudante de qualquer destas disciplinas deve ser capaz de entender a outra. Al em disso, a distin c ao entre elas est a se tornam menos clara com o desenvolvimento de teorias que combinam diferentes areas. Infelizmente existe pouco material sobre engenharia de controle e pesquisa operacional, apesar de que muitos resultados foram desenvolvidos em pesquisa operacional e IC. Por m, a intelig encia computacional pode ser vista como um chap eu para as ci encias cognitivas. Ci encias cognitivas ligam v arias disciplinas do estudo da cogni c ao e do racioc nio, incluindo a losoa, ling u stica, antropologia e neuroci encia. A intelig encia computacional se distingue dentro das ci encias cognitivas porque esta prov e ferramentas para constru c ao de entidades inteligentes, n ao apenas se preocupando com o estudo do comportamento externo de agentes inteligentes ou com a disseca c ao de sistemas inteligentes para entender o funcionamento destes.

1.7

Agentes

H a v arias quest oes los ocas de interesse sobre a natureza da intelig encia computacional, mas para entendermos como o comportamento inteligente pode ser algor tmico devemos tentar programar o computador para resolver problemas concretos. N ao e suciente especular que um comportamento interessante e particular e algor tmico. H a que se desenvolver uma teoria que explica como este comportamento se manifesta nas m aquinas e, ent ao, mostrar como tal teoria pode ser realiz avel por meio da constru c ao de m aquinas que implementam tal teoria. Estamos interessados no racioc nio pr atico: racioc nio que fa ca algo de interesse, u til. A integra c ao de habilidades de percep c ao, racioc nio e atua c ao constitui um agente. Um agente poderia ser, por exemplo, a agrega c ao de uma m aquina computacional com sensores e atuadores f sicos um rob o. Poderia originar-se da agrega c ao de um computador que prov e recomenda c oes um sistema especialista com um especialista humano que alimenta o computador com informa c oes sensoriais e conduz o di alogo. Um agente poderia ainda ser um programa que age em um ambiente puramente computacional. A Fig. 1.1 mostra as entradas e sa das de um agente. A qualquer instante o agente tem: conhecimento anterior sobre o mundo (ambiente); experi encia passada que pode servir de base para aprendizagem; objetivos que tentar alcan car, por meio da maximiza c ao de valores associados com o que e importante; e informa c oes sobre o estado corrente do ambiente e si pr oprio. Para cada agente procuramos denir a forma das entradas e das a c oes. O objetivo do estudo nesta disciplina est a na implementa c ao da caixa-preta tal que a c oes satisfat orias s ao executadas dadas as entradas.

1. Intelig encia Computacional

Conhecimento anterior Experi encia passada Objetivos / Valores Observa c oes

AGENTE

A c oes

Figura 1.1: Agente como caixa-preta. Para o prop osito do estudo daqui a diante, o mundo consiste de um agente inserido em um ambiente. O ambiente pode at e mesmo incluir outros agentes. Cada agente pode ter seus pr oprios objetivos (a serem perseguidos), maneiras de inuenciar o ambiente na busca de seus objetivos, mecanismos para modicar suas cren cas atrav es de racioc nio, habilidade de percep ca o e aprendizagem. Esta e uma vis ao completa de sistemas inteligentes que variam desde termostatos at e um time de rob os m oveis. O sucesso na constru c ao de agentes inteligentes depende, e claro, do problema que foi selecionado para investiga c ao. Alguns problemas s ao bemadequados para uso de computadores, tal como a ordena c ao de n umeros. Outros problemas podem n ao ser, tal como trocar as fraldas de uma crian ca ou propor uma boa estrat egia pol tica. E importante avaliar a literatura contempor anea de intelig encia computacional, antecipar o futuro e desenvolver conceitos e ferramentas que permitam a constru c ao, teste e modica c ao de agentes. Na continuidade deste texto, estudaremos formalismos que podem ser empregados, com graus de eci encia variados para problemas diferentes, na constru c ao de agentes inteligentes. Estes formalismos incluem as redes neurais articiais, os algoritmos gen eticos e a l ogica fuzzy (ou nebulosa), que ser ao objeto de estudo neste texto.

1.8

Refer encias

O texto apresentado acima e uma compila c ao traduzida extra da do livro de Poole et al. [13]. Outro material de refer encia e o livro de Russel e Norvig [14].

1. Intelig encia Computacional

Cap tulo 2 Redes Neurais


A neural network is an interconnected assembly of simple processing elements, units or nodes, whose functionality is loosely based on the animal neuron. [Kevin Gurney, 1999]

2.1

Introdu c ao

Redes neurais articiais s ao modelos extremamente simplicados das redes neurais biol ogicas, constru das a partir da interconex ao de unidades de processamento (neur onios, elementos de processamento, ou n os) que manipulam sinais de entrada e produzem sinais de sa da para outras unidades. A partir de uma base de pares de entrada e sa da de uma fun c ao desconhecida, {(xp , y p)}, podemos treinar a rede neural a reproduzir a rela c ao y = f (x) com fw (x) f (x), onde fw (x) e a sa da da rede neural para a entrada x e w e o vetor dos par ametros da rede, minimizando o erro y p fw (xp ) entre a sa da desejada e a produzida pela rede. Redes neurais (articiais) constituem m etodos robustos de aproxima c ao de fun c oes de valores vetoriais, reais ou discretos. Em outras palavras, as redes neurais toleram erros nos pares de treinamento. Uma rede neural pode ser vista como um aproximador universal ou, mais precisamente, como um interpolador universal uma vez que elas n ao s ao capazes de inferir informa c oes que est ao fora do conjunto de treinamento. Dado um conjunto qualquer de treinamento podemos, em princ pio, construir uma rede neural que produz os mesmos valores da fun c ao para os pares entrada-sa da de treinamento. O algoritmo de treinamento de propaga c ao reversa (back-propagation) permite realizar o treinamento de redes neurais que geram fun c oes n ao-lineares, sendo amplamente utilizado. Neste cap tulo faremos um breve estudo dos princ pios biol ogicos por tr as das redes neurais, dos modelos de redes neurais, algoritmos de treinamento e aplica c oes.

2.2

C erebro: um sistema de processamento de informa c oes

O c erebro humano cont em cerca de 10 bilh oes de c elulas neurais ou neur onios. Em m edia, cada neur onio est a conectado a outros neur onios por meio de aproxima-

10

2. Redes Neurais

Figura 2.1: C erebro humano. damente 10.000 sinapses. A rede de neur onios forma um sistema de processamento de informa c oes massivamente paralelo, contrastando com computadores convencionais que executam uma instru c ao a cada ciclo. Por outro lado, considere o tempo de execu c ao de uma opera c ao elementar: neur onios operam a uma freq u encia t pica de 100 Hz, enquanto CPUs realizam centenas de milh oes de opera c oes por segundo. Apesar de ser constru do a partir de hardware lento, o c erebro possui capacidades surpreendentes: o desempenho decai gradativamente com danos parciais; por outro lado, muitos programas e sistemas de engenharia s ao fr ageis: se removemos um componente arbitr ario, e bem poss vel que o sistema como um todo falhe. ele pode aprender e se organizar a partir da experi encia adquirida; isto signica que recupera c ao parcial e poss vel ap os danos se as unidades saud aveis podem aprender a assumir as fun c oes previamente sob responsabilidade das unidades danicadas. ele realiza computa c oes massivamente paralelas de forma muito eciente; por exemplo, o processo complexo de percep c ao visual ocorre em menos de 100 ms, o que corresponde a 10 passos de processamento. Como parte da intelig encia computacional, redes neurais constituem um formalismo que busca dotar computadores de capacidades do c erebro humano por meio da imita c ao de certos aspectos do processamento neural de informa c oes, de maneira extremamente simplicada.

Redes neurais
O c erebro n ao e homog eneo (Fig. 2.1). Na escala anat omica (maior escala), podemos distinguir o cortex, cereb elo, midbrain e brainstem. Cada um desses elementos anat omicos pode ser subdividido em areas dentro de cada regi ao, de acordo com a estrutura anat omica da rede neural ou conforme a fun c ao executada

2. Redes Neurais

11

Tabela 2.1: Compara c ao c erebro e computador c erebro computador convencional 14 elementos de processamento 10 sinapses 108 transistores 6 10 m 106 m tamanho do elemento uso de energia 30 W 30 W (CPU) velocidade de processamento 100 Hz 109 Hz estilo de processamento paralelo, distribu do serial, centralizado toler ancia a faltas sim n ao aprendizado sim pouco consci encia usualmente ainda n ao

por elas. O padr ao das conex oes (padr ao de proje c ao) entre as areas e extremamente complexo e conhecido apenas parcialmente. A Fig. 2.2 ilustra processos cognitivos associados a diferentes regi oes do c erebro. O maior e mais bem conhecido sistema do c erebro humano e o sistema visual, que se conhece 10 dos 11 est agios de processamento. Podemos discernir entre proje c oes feedforward que partem dos est agios iniciais de processamento anterior (pr oximos dos sensores de entrada) para os est agios terminais (pr oximo das conex oes de sa da), e proje c oes feedback que v ao na dire c ao oposta.

Figura 2.2: Regi oes do c erebro. Al em destas conex oes de longo alcance, neur onios est ao conectados com milhares de outros neur onios na sua vizinhan ca, formando redes neurais locais complexas e densas, conforme ilustra a Fig. 2.3.

Neur onios e sinapses


A unidade computacional b asica do sistema neural e a c elula nervosa ou neur onio (Fig. 2.4). O neur onio e formado por: dendritos (entradas)

12

2. Redes Neurais

Figura 2.3: Rede neural biol ogica. corpo da c elula ax onio (sa da) Um neur onio recebe entrada de outros neur onios, tipicamente v arios milhares de neur onios. As entradas s ao aproximadamente somadas e quando esta soma excede um certo n vel cr tico, o neur onio libera um impulso um sinal el etrico que viaja atrav es do corpo, depois atrav es do ax onio e at e os pr oximos neur onios. o, O fen omeno de disparo de impulso tamb em e conhecido por despolarizac a sendo seguido por um per odo durante o qual o neur onio n ao e capaz de disparar. As termina c oes do ax onio (zona de sa da) quase tocam os dendritos ou corpo da c elula do pr oximo neur onio. A transmiss ao do sinal el etrico de um neur onio para o pr oximo e afetada por neuro-transmissores, subst ancias qu micas liberadas pelo primeiro neur onio que casam com os receptores do segundo. Este comportamento e conhecido como sinapse. O grau no qual o sinal enviado por um neur onio e passado ` a frente depende de v arios fatores, dentre eles podemos destacar a quantidade de neuro-transmissores dispon veis, o n umero e organiza c ao de receptores, e a quantidade de neuro-transmissores reabsorvidos.

Figura 2.4: Estrutura de um neur onio.

2. Redes Neurais

13

Aprendizado sin aptico


O c erebro e capaz de aprender. Baseado no conhecimento contempor aneo da estrutura neuronal, uma forma do c erebro aprender e por meio da altera c ao, adi c ao e remo c ao de conex oes sin apticas entre neur onios. O c erebro aprende on-line com base na experi encia acumulada e tipicamente sem o benef cio de um instrutor. A ec acia de uma conex ao sin aptica pode mudar com a experi encia, caracterizando mem oria e aprendizado atrav es da potencia c ao de longo-prazo (PLP). Uma forma se d a atrav es da libera c ao de neuro-transmissores, mas muitas outras formas existem. A potencia c ao de longo-prazo e denida como o aumento persistente de mais de uma hora na ec acia de uma conex ao sin aptica que resulta da estimula c ao de alta freq u encia de um caminho de entrada. Hebbs postulou: Quando o ax onio de uma c elula A ... excita uma c elula B e, repetidamente e persistentemente, inuencia o disparo desta, um processo de crescimento e modica c ao metabol ogica ocorre em ambas as c elulas de forma que a inu encia de A como uma das c elulas que causa o disparo de B aumenta. Bliss e Lomo descobriram PLP no Hipocampo em 1973.

2.3

Modelo do neur onio articial

Neuro-cientistas elaboraram um modelo computacional do neur onio que permite realizar simula c ao detalhada de um circuito espec co do c erebro. Do lado da ci encia da computa c ao, estamos mais interessados nas propriedades gerais de uma rede neural, independentemente de como elas s ao implementadas no c erebro. Isto nos permite utilizar modelos mais simples, neur onios abstratos, que podem capturar a ess encia da computa c ao neural mesmo quando muitos detalhes sobre o neur onio biol ogico s ao ignorados. Modelos de neur onios foram implementados em hardware e at e mesmo em circuitos VLSI (very large scale integration). Uma vez que computadores executam opera c oes rapidamente, podemos simular o funcionamento de redes muito grandes montadas a partir de modelos simples. Isto nos permite realizar experimenta c oes em software, sem a necessidade de hardware espec co.

Um neur onio articial simples


O modelo computacional b asico (modelo de neur onio) e tamb em chamado de unidade, como ilustra a Fig. 2.5. Ela recebe entradas de outras unidades ou de uma fonte externa. Cada entrada tem associado um peso w que pode ser modicado para modelar o aprendizado sin aptico. A unidade i computa uma fun c ao fi da soma ponderada das entradas:
n

yi = fi (
j =1

wij yj )

14

2. Redes Neurais

A sa da yi da unidade i pode servir de entrada para outras unidades. A soma pondee chamada the entrada l quida para a unidade i, rotineiramente rada n j =1 wij yj denotada por neti . Observe que wij se refere ao peso da inu encia que a unidade j exerce sobre i. A fun c ao fi e a fun c ao de ativa c ao. No caso mais simples, fi ea fun c ao identidade fazendo com que a sa da seja simplesmente a entrada l quida. Tal unidade e conhecida como unidade linear. wi1 yi unidade i wi2 wi3 fi yi yi

Figura 2.5: Estrutura de um neur onio.

2.4

Regress ao linear

Considere o conjunto de pontos apresentados na Fig. 2.6. Cada ponto da gura d a informa c ao sobre o peso (eixo x, em libras) e o consumo de combust vel (eixo y , em gal oes por milha) para um certo ve culo dentre 74 ve culos. O peso e o consumo est ao relacionados: quanto mais pesado o ve culo, maior o consumo de combust vel. Agora suponha que seja dado o peso do ve culo de n umero 75, para o qual devemos predizer/estimar o consumo de combust vel tomando como base os dados fornecidos. Tais quest oes podem ser respondidas por meio de um modelo uma descri c ao matem atica aproximada dos dados. O modelo mais simples que ainda seja u til e da forma: y = w1 x + w0 (2.1) O modelo acima e linear: no plano x y , a equa c ao (2.1) e uma linha com inclina c ao w1 que intercepta o eixo y na altura w0 , como mostra a Fig. 2.7. Para esta reta w0 = 42 e w1 = 0, 0051923. Quais valores para w0 e w1 devem ser utilizados? Qualquer linha tra cada atrav es dos pontos amostrais pode ser usada como um preditor, mas certas linhas incorrer ao erros menores que outras. A linha dada na Fig. 2.7 n ao e um bom modelo: para muitos carros, a predi c ao de consumo ser a exagerada para um certo peso.

Fun c ao erro
Para quanticar um bom preditor podemos denir uma fun c ao erro E (ou fun c ao objetivo) sobre os par ametros do modelo. Uma forma popular da fun c ao erro e a soma dos erros quadr aticos: 1 E= (dadoi predi c a o i )2 (2.2) 2 i = 1 2
i

(ti yi)2

(2.3)

2. Redes Neurais

15

milhas por galao x peso 50 "auto-mpg1.txt" using 5:1 45 40 35 milhas por galao 30 25 20 15 10 5 1500

2000

2500

3000

3500 peso (libras)

4000

4500

5000

5500

Figura 2.6: Milhas por gal ao como uma fun c ao do peso do carro. Esta fun c ao e a soma sobre todos os pontos i dos dados amostrais da diferen ca quadrada entre o valor desejado ti (consumo de combust vel) e a predi c ao yi , calculada a partir da entrada xi (o peso do ve culo i) conforme a equa c ao (2.1). No caso de um modelo linear, a soma dos erros quadr aticos e uma fun c ao quadr atica dos par ametros do modelo. A Fig. 2.8 mostra a superf cie da fun c ao erro, E (w0 , w1 ), para uma faixa de valores de w0 e w1 . A Fig. 2.9 mostra a mesma fun c ao na forma de curvas de n vel.

Minimizando o erro de predi c ao


A fun c ao erro E d a uma medida do erro de predi c ao para uma escolha espec ca de par ametros. Podemos colocar o objetivo de encontrar o melhor modelo (linear) como o problema de encontrar os par ametros que minimizam E . No caso de modelos lineares, a regress ao linear nos d a uma forma direta de computar os par ametros otimos. Por outro lado, a solu c ao anal tica obtida n ao pode ser generalizada para modelos n ao-lineares (que ser ao objeto de estudo mais ` a frente). Apesar de n ao sermos capazes de calcular de forma expl cita os par ametros otimos de modelos n aolineares, podemos aplicar m etodos iterativos tais como o m etodo de descenso [11]. Este m etodo funciona da seguinte forma: 1. escolha valores iniciais para os modelos, possivelmente de forma aleat oria. 2. calcule o gradiente g da fun c ao erro com respeito aos par ametros modelo. 3. modique os par ametros atrav es de um deslocamento pequeno na dire c ao com maior taxa de decrescimento da fun c ao erro, isto e, na dire c ao g . 4. repita os passos 2 e 3 at e que o gradiente chegue pr oximo de zero. De que forma o m etodo se comporta? O gradiente de E e a dire c ao na qual a fun c ao erro tem a maior inclina c ao com respeito aos valores correntes w dos

16

2. Redes Neurais

milhas por galao x peso 50 "auto-mpg1.txt" using 5:1 "auto-mpg2.txt" using 1:2 45 40 35 milhas por galao 30 25 20 15 10 5 1500

2000

2500

3000

3500 peso (libras)

4000

4500

5000

5500

Figura 2.7: Aproxima c ao linear da fun c ao milhas por gal ao. par ametros. Objetivando decrescer E , tomamos um passo pequeno na dire c ao oposta ao gradiente, g (Fig. 2.10). A repeti c ao destes passos move E ladeira abaixo at e que se atinja um m nimo, onde g = 0, e n ao mais podemos reduzir o valor de E (Fig. 2.11). A Fig. 2.12 mostra a melhor reta para os dados fornecidos encontrados com este procedimento.

O modelo e uma rede neural


O modelo linear da equa c ao (2.1) pode ser implementado como uma rede neural simples, conforme ilustra a Fig. 2.13. Esta rede consiste de um valor constante (bias), uma unidade de entrada e uma unidade linear de sa da. A unidade de entrada faz o papel da entrada x (o peso do carro) que alimenta a rede, enquanto a unidade de bias tem como sa da o valor 1. A unidade de sa da computa a soma: y2 = y1 w21 + 1.0w20 (2.4)

imediata a verica E c ao da equival encia entre a equa c ao (2.1) com w21 que implementa a inclina c ao da linha e w20 que nos d a o ponto onde a reta intercepta o eixo y.

2.5

Redes neurais lineares

Regress ao m ultipla
O exemplo dos carros mostrou como podemos descobrir uma fun c ao linear para predi c ao em uma vari avel (consumo de combust vel) a partir de outra vari avel (peso). Suponha que agora s ao dados vari aveis adicionais que podem ser u teis como preditores. O modelo neural simples (Fig. 2.13) pode ser estendido pela adi c ao de outras unidades de entrada como indica a Fig. 2.14.

2. Redes Neurais

17

Superficie de erros: E(w0,w1)

x 10 4.5 4 3.5 3 erro 2.5 2 1.5 1 0.5 0 5

100 80 0 5 60 40 10 15 20 20 0 w0 20

x 10

w1

Figura 2.8: Superf cie do erro E (w0 , w1 ). Al em disso, podemos estar interessados na predi c ao de mais de uma vari avel dos dados fornecidos. Isso pode ser facilmente acomodado adicionando unidades de sa da adicionais. Veja ilustra c ao dada pela Fig. 2.15. A fun ca o de erro para uma rede com m ultiplas sa das e obtida simplesmente adicionando o erro para cada unidade de sa da. A rede passa a ter uma estrutura em camadas t pica: uma camada de unidades de entrada (e bias), conectada atrav es de uma camada de pesos ` a camada com unidades de sa da.

Computa c ao de gradientes
Para treinar redes neurais como a vista acima por meio do m etodo de descenso, precisamos ser capazes de computar o gradiente g da fun c ao erro com respeito a cada peso wij da rede. O gradiente nos diz como uma pequena varia c ao nos pesos vai afetar o erro total E . Iniciamos com a quebra da fun c ao erro em termos separados para cada ponto p da base de treinamento: E=
p

Ep
p 2 (tp o yo )

(2.5) (2.6)

1 Ep = 2

onde o varia de acordo com as unidades de sa da da rede, tp e o valor desejado da oo p esima sa da para o exemplo p, e yo e a sa da produzida pela rede. J a que diferencia c ao

18

2. Redes Neurais

x 10

Curvas de nivel da funcao erro: E(w0,w1)

5 w1 10 15 20 20

20

40 w0

60

80

100

Figura 2.9: Curvas de n vel do erro E (w0 , w1). E inclina c ao inclina c ao positiva negativa E (w )

Figura 2.10: Dire c ao para atualiza c ao de par ametros conforme sinal do gradiente. e somat oria s ao intercambi aveis, podemos quebrar o gradiente em componentes separados para cada ponto de treinamento: E = wij wij E =
p p p

E p wij

(2.7)

No que segue, descrevemos o c omputo do gradiente para um u nico ponto de treinamento, p. Primeiro aplicamos a regra da cadeia para decompor o gradiente em dois fatores:
p E p E p yo = p woi yo woi

(2.8)

O primeiro fator pode ser obtido diferenciando a equa c ao (2.6) acima: E p p p p = (to yo ) yo (2.9)

2. Redes Neurais

19

E (w )

w (1) w (2)

w (4) (m nimo local)

Figura 2.11: Progresso do m etodo de descenso em dire c ao ao m nimo local.


milhas por galao x peso (descenso) 50 "auto-mpg1.txt" using 5:1 "auto-mpg4.txt" 45 40 35 milhar por galao 30 25 20 15 10 5 1500

2000

2500

3000

3500 peso (libras)

4000

4500

5000

5500

Figura 2.12: Aproxima c ao linear da fun c ao milhas por gal ao obtida com o m etodo de descenso. Utilizamos 0 = 104 como taxa de decrescimento para w0 e 1 = 1010 como taxa de decrescimento para w1 , pois as entradas e sa das n ao s ao da mesma ordem. Uma vez que:
p yo = j p woj yj

(2.10)

podemos expressar o segundo termo de (2.8) como:


p yo = woi woi p p woj yj = yi j

(2.11)

Substituindo (2.9) e (2.11) em (2.8), obtemos: E p p p = (tp o y o )y i woi (2.12)

20

2. Redes Neurais

y2 = y sa da (unidade 2) w20 bias (unidade 0)


1.0

w21 entrada (unidade 1) x

Figura 2.13: Rede neural.

sa da w30
1.0

w31

w32

bias

entrada 1 entrada 2

Figura 2.14: Rede neural linear simples com mais de uma entrada. Para computar o gradiente E do conjunto de pontos, basta somar a cada peso a contribui c ao dada pela equa c ao (2.12) sobre todos os pontos de treinamento: E = woi Note ainda que: E ( w ) = E : sa da o, entrada i woi E p = woi
p p (tp o y o )y i

(2.13)

Podemos ent ao subtrair uma propor c ao pequena , chamada de taxa de aprendizagem, de E (w ) dos pesos para executar uma itera c ao do m etodo de descenso, k +1 k k k ou seja, w w E (w ) com w correspondendo ao vetor de pesos no in cio da itera c ao k do algoritmo de descenso.

O algoritmo de descenso
1. Inicialize os pesos com valores pequenos aleatoriamente: wij [1, 1] aleatoriamente, para toda sa da i e entrada j 2. Repita at e converg encia 3. Para cada peso wij dena wij = 0

2. Redes Neurais

21

sa da 1

sa da o

1.0

bias

entrada 1

entrada i

Figura 2.15: Rede neural linear para regress ao m ultipla. Tabela 2.2: Sum ario da regress ao m ultipla dados de treinamento par ametros do modelo modelo fun c ao erro gradiente com respeito a wij regra de atualiza c ao caso geral (x, t) w y = g (w, x) E (y, t)
E wij E wij = w ij

rede linear (x, t) w yo = woj yj


j

E=
p p (tp i

E p,

Ep =

1 2

p p yi )y j p

p 2 (tp o yo )

wij =

p p (tp i y i )y j

4. 5. 6. 7. 8.

Para cada ponto de treinamento (xp , tp ) Coloque xp nas entradas da rede Calcule os valores das unidades de sa da: p Calcule yi para cada unidade de sa da i Para cada peso wij dena: p p wij = wij (tp i y i )y j Para cada peso wij dena: wij = wij wij

O algoritmo termina quando atingimos, ou estamos sucientemente pr oximos, de um m nimo da fun c ao erro, onde E (w ) = 0. Neste ponto dizemos que o algoritmo convergiu. A Tab. 2.2 faz uma analogia entre o m etodo de descenso para o caso onde a rede neural e linear e o caso geral.

Taxa de aprendizagem
A taxa de aprendizagem determina o quanto se modica os pesos w a cada passo. Se e muito pequeno, o algoritmo levar a muito tempo para convergir (ver Fig. 2.16). Por outro lado, se e muito grande, o algoritmo pode entrar em la co innito ou divergir (ver Fig. 2.17).

22

2. Redes Neurais

E (w )

w0

Figura 2.16: Taxa de aprendizagem pequena, implicando em converg encia lenta. E E (w )

w0 w2

w1

Figura 2.17: Taxa de aprendizagem grande, podendo levar a la co innito e diverg encia.

Aprendizagem on-line versus batch


No desenvolvimento acima, as contribui c oes do gradiente de todos pontos de treinamento foram acumuladas antes de se atualizar os pesos. Este m etodo e conhecido como aprendizagem batch. Um m etodo alternativo e aprendizagem on-line onde os pesos s ao atualizados imediatamente ap os examinarmos cada ponto. J a que o gradiente de cada ponto de treinamento pode ser visto como uma aproxima c ao com ru dos do gradiente total E (w ) (Fig. 2.18), o m etodo tamb em e conhecido como m etodo de descenso estoc astico (com ru do). Aprendizagem on-line tem algumas vantagens: 1. tende a ser mais r apido, especialmente quando o conjunto de treinamento apresenta redund ancias (muitos pontos similares); 2. pode ser empregada quando n ao h a um conjunto de treinamento xo (dados chegam continuamente); 3. apresenta melhor desempenho no seguimento de ambientes n ao-estacion arios (quando o problema e variante no tempo); e 4. o ru do no gradiente pode ajudar a escapar de m nimos locais (que s ao t picos e problem aticos nos casos n ao-lineares).

2. Redes Neurais E 1 (w ) E (w ) E 2 (w

23

w Figura 2.18: Aprendizagem on-line. E (w ) e a m edia de E p (w ) sobre os pares de treinamento p. Mas estas vantagens t em contra-partidas. T ecnicas de otimiza c ao poderosas tais como m etodos de gradiente conjugados, m etodos de segunda-ordem e support vector machines s ao do tipo batch. Contudo a aplica c ao destes m etodos demanda grande aprofundamento destas t ecnicas, o que pode ser relativamente complexo e consumir muito tempo. Uma rela c ao de compromisso pode ser obtida usando os m etodos mini-batches: os pesos s ao atualizados ap os examinarmos m pontos de treinamento, onde m e maior que 1 mas menor que a cardinalidade do conjunto de treinamento. Por raz oes de simplicidade, o foco daqui a diante ser a em m etodos on-line, dentre os quais o m etodo de descenso e uma das melhores t ecnicas conhecidas. Aprendizagem online tamb em e recomend avel na implementa c ao de estrat egias de controle reativo em agentes adaptativos, o que deve ser aplic avel em outras disciplinas relacionadas.

2.6

Redes multi-camadas

Um problema n ao-linear
Considere a melhor linha de regress ao para os dados relativos a ve culos. Observe que os pontos de treinamento n ao est ao distribu dos de forma uniforme em torno da reta: para valores baixos, observamos milhas extras por gal ao em rela c ao ` a predi c ao. Parece que uma curva simples poderia levar a uma predi c ao mais precisa do que uma linha. Podemos dotar a nossa rede neural para fazer o enquadramento de uma curva se um n o adicional apresentar uma fun c ao de ativa c ao n ao-linear, que permita capturar a curvatura. Uma fun c ao u til para este prop osito e a tangente hiperb olica com formato S (tanh) ilustrada na Fig. 2.19. Mais especicamente, a tangente hiperb olica pode ser expressa como: tanh(x) = ex ex e2x 1 sinh(x) = x = cosh(x) e + ex e2x + 1

A Fig. 2.20 mostra a nova rede: um n o extra (unidade 2) com fun c ao de ativa c ao tanh foi inserido entre a entrada e a sa da. J a que tal n o e escondido dentro da rede, a unidade e dita unidade escondida. Veja que a unidade escondida tem

24

2. Redes Neurais

tanh(x) 1.0 0.8 0.6 0.4 0.2 0.0 0.2 0.4 0.6 0.8 1.0 4 3 2 1

tangente hiperbolica

x 0 1 2 3 4

Figura 2.19: Tangente hiperb olica. um peso para a unidade de bias. Em geral, todas as unidades que n ao sejam de entrada tem um peso associado ao bias. Para simplicar a apresenta c ao, a unidade de bias e as unidades de entrada s ao omitidas dos diagramas de redes neurais a menos que explicitamente mencionado, tais unidades est ao presentes. sa da w32 w30 = 1.0 unidade 2 (tanh) w21 unidade 0 bias w20 unidade 1 entrada 1

Figura 2.20: Rede neural com uma unidade escondida que implementa a fun c ao tangente hiperb olica tanh. Quando a rede neural e treinada via m etodo de descenso no caso de predi c ao de milhas por gal ao em fun c ao do peso do ve culo, ela aprende a enquadrar a fun c ao tanh aos dados. Cada um dos quatro pesos da rede desempenha um papel particular no processo: os dois pesos de bias deslocam a fun c ao tanh nas dire c oes de x e y , respectivamente, enquanto os outros dois pesos distribuem a fun c ao ao longo das duas dire c oes. A rede da Fig. 2.20, obtida com par ametros w03 = 1.1, w20 = 1.1, w32 = 1.7 e w21 = 1.6, produz uma aproxima c ao da rela c ao milhas por gal ao versus peso do ve culo ilustrada na Fig. 2.21. Os dados da rela c ao foram normalizados fazendo w norm w/1000 3 e mpg norm mpg/10 2, com w representando o peso do ve culo e mpg representando milhas por gal ao.

2. Redes Neurais

25

milhas por galao 3.0

milhas por galao x peso

2.5

2.0

1.5

1.0

0.5

0.0

0.5

1.0

1.5 2.0

peso (libras) 1.5 1.0 0.5 0.0 0.5 1.0 1.5 2.0 2.5

Figura 2.21: Aproxima c ao da rede neural com uma unidade escondida (tanh) para a rela c ao milhas por gal ao peso do ve culo (libras). Os dados da rela c ao foram norm norm normalizados fazendo w w/1000 3 e mpg mpg/10 2.

Camadas escondidas
No exemplo acima selecionamos uma fun c ao de ativa c ao para a unidade escondida capaz de enquadrar os dados. O que far amos se os dados tivessem a forma dada na Fig. 2.22?
4 3

NOx

0,6

0,8

1,0

1,2

Figura 2.22: Concentra c ao relativa de NO e NO2 nos gases de exaust ao como uma fun c ao da concentra c ao de etanol/ar na mistura de combust ao em um motor de carro. Agora a fun c ao de ativa c ao tanh n ao e mais capaz de capturar a rela c ao n ao-linear dos dados. Em princ pio, poder amos conceber uma fun c ao de ativa c ao para cada conjunto de dados encontrados, mas isto vai contra o prop osito de aprendermos o modelo a partir dos dados. Gostar amos de ter uma fun c ao geral e n ao-linear

26

2. Redes Neurais

capaz de aproximar qualquer conjunto de dados que nos for apresentado, qualquer que seja a sua forma. H a uma solu c ao relativamente simples: basta adicionar mais unidades escondidas. Uma rede com apenas duas unidades escondidas com fun c ao de ativa c ao tipo tanh (Fig. 2.23) e capaz de enquadrar os dados da Fig. 2.22 satisfatoriamente. A aproxima c ao pode ser aprimorada adicionando uma terceira camada. No entanto, um n umero excessivo de unidades escondidas (ou camadas escondidas) pode degradar o desempenho da rede. Como linha geral, n ao devemos usar mais unidades escondidas do que o necess ario para resolver um dado problema. Uma maneira de assegurarmos este princ pio de projeto consiste em iniciarmos o treinamento com uma rede pequena. Se o m etodo de descenso n ao encontrar uma solu c ao satisfat oria, ent ao adicione unidades escondidas ` a rede e repita o processo de treinamento. sa da

escondida

entrada Figura 2.23: Rede neural com duas unidades escondidas do tipo tangente hiperb olica. Resultados te oricos indicam que com um n umero suciente de unidades escondidas, uma rede com estrutura conforme a Fig. 2.23 pode aproximar qualquer fun c ao com o grau de precis ao desejado. Isto e, qualquer fun c ao pode ser expressa como uma combina c ao linear de fun c oes tanh tanh e uma base universal para fun c oes. Outras fun c oes podem constituir bases universais. As duas fun c oes de ativa c ao mais comumente utilizadas em redes neurais s ao as fun c oes sigmoidais (em formato S ) que incluem as fun c oes tanh e as fun c oes de base radial. A fun c ao sigm oide ( ) e denida como: 1 (x) = 1 + ex

2.7

Propaga c ao reversa (backpropagation)

J a vimos o m etodo de descendo para treinar redes lineares na Se c ao 2.4. Ao aplicarmos o mesmo m etodo ` as redes multi-camadas encontramos uma diculdade: n ao sabemos os valores desejados para as unidades escondidas. Isto parece um problema insol uvel como poder amos dizer o que as unidades escondidas devem fazer? Esta quest ao e uma das raz oes para as redes neurais terem sido descartadas, ap os um per odo inicial de grande popularidade, nos anos 50. Levaram cerca de 30 anos para que o algoritmo de propaga c ao reversa (backpropagation), backprop de forma sint etica, fosse desenvolvido para treinar as unidades intermedi arias, instigando uma nova onda de pesquisas e aplica c oes em redes neurais.

2. Redes Neurais

27

Backprop prov e o treinamento de redes com um n umero qualquer de unidades escondidas organizadas em um n umero qualquer de camadas. H a, todavia, limites pr aticos a serem vistos mais adiante. Na verdade, a rede n ao precisa ser organizada em camadas; qualquer padr ao de conectividade que induz uma ordem parcial dos n os da entrada at e a sa da pode ser empregado. Ou seja, deve existir uma forma de ordenar as unidades tal que as conex oes v ao das mais recentes (pr oximas das entradas) em dire c ao ` as mais tardias (pr oximas das sa das), o que equivale a dizer que os padr oes de conex ao n ao cont em ciclos. Redes que respeitam este padr ao de conex oes s ao conhecidas por feedforward networks o padr ao de conex ao destas redes forma um grafo ac clico. sa da

escondida

entrada Figura 2.24: Rede neural com camada de unidades escondidas do tipo tangente hiperb olica.

Algoritmo backpropagation
Desejamos treinar uma rede multi-camada tipo feedforward com o algoritmo de descenso para aproximar uma fun c ao, tomando como base de treinamento pares (x, t). O vetor x representa o padr ao de entrada para a rede, enquanto o vetor t corresponde ao objetivo (valor desejado para a sa da). Como visto acima, o gradiente total para todo o conjunto de treinamento e a soma dos gradientes para cada padr ao. Portanto, no que segue, vamos descrever o procedimento para c omputo do gradiente para apenas um padr ao. Vamos numerar as unidades e denotar o peso de uma unidade j para uma unidade i por wij . 1. Deni c oes
E o sinal de erro para uma unidade j : j = net j E o gradiente (negativo) para o peso wij : wij = w ij

o conjunto de n os que precedem a unidade i: Ai = {j : wij }

o conjunto de n os que seguem a unidade j : Pj = {i : existe wij }

2. O gradiente. Como zemos em redes lineares, podemos expandir o gradiente em dois fatores por meio da regra da cadeia: wij = E neti neti wij

28

2. Redes Neurais

O primeiro fator e o erro da unidade i. O segundo fator e: neti = wij wij yk wik = yj
k Ai

Juntando as duas express oes, obtemos: wij = i yj Para computar este gradiente, precisamos conhecer a atividade e o erro de todos os n os relevantes na rede. 3. Propaga c ao de ativa c ao. A atividade das unidades de entrada e determinada pela entrada externa x. Para as demais unidades, a atividade e propagada ` a frente: yi = fi (
j Ai

wij yj )

Note que antes de computarmos a atividade da unidade i, yi, as atividades de suas unidades precedentes (as que formam o conjunto Ai ) devem ser conhecidas. J a que as redes feedforward n ao cont em ciclos, h a uma ordem das entradas em dire c ao ` as sa das que respeita esta condi c ao. 4. Calculando o erro na sa da. Assumindo que estamos adotando a soma dos erros quadr aticos como fun c ao erro: E= 1 2 (to yo )2

o erro para a unidade de sa da o e simplesmente: o = to yo 5. Propaga c ao reversa de erros. Para as unidades escondidas, devemos propagar o erro para tr as (da surge o nome do algoritmo). Aplicando a regra da cadeia, podemos obter o erro de uma unidade escondida em termos dos seus n os posteriores: E neti yj j = neti yj netj iP
j

Dos tr es fatores dentro da soma, o primeiro e simplesmente o erro do n o i. O segundo e: neti wik yk = wij = yj yj
k Ai

Por outro lado a derivada da fun c ao de ativa c ao do n o j nos d a: fj (netj ) yj = = fj (netj ) netj netj

2. Redes Neurais

29

Para a unidade escondida h que usa tanh como fun c ao de ativa c ao, podemos 2 usar a identidade tanh(u) = 1 tanh(u) , que nos leva a: Juntando todos os elementos obtemos:
2 fh (neth ) = 1 yh

j = fj (netj )
iPj

i wij

Para calcular o erro da unidade j , j , devemos primeiramente saber o erro de todos os seus n os posteriores (os n os que formam Pj ). Enquanto a rede n ao possuir ciclos, existe uma ordem dos n os da sa da em dire c ao ` a entrada que respeita esta condi c ao. Tal ordem pode ser estabelecida revertendo o sentindo da ordem na qual as atividades eram propagadas ` a frente.

Forma matricial
Para redes tipo feedforward totalmente conectadas (onde cada n o em uma camada est a conectado com cada n o da camada seguinte) h a uma forma mais conveniente de descrever o algoritmo backprop em nota c ao matricial. Os pesos de bias, as entradas l quidas, ativa c oes e sinais de erro para todas as unidades de uma camada s ao combinados em vetores, enquanto todos os pesos que n ao surgem de bias entre uma camada e a pr oxima formam uma matriz W . As camadas s ao numeradas de 0 (camada de entrada) at e L (camada de sa da). O algoritmo backprop consiste dos passos abaixo: 1. Inicialize a camada de entrada: y0 = x 2. Propague a atividade ` a frente: para l = 1, . . . , L, yl = fl (Wl yl1 + bl ) onde bl e o vetor de bias e fl e uma fun c ao vetorial com a sa da da camada l. 3. Calcule o erro da camada de sa da: L = t yL 4. Propague o erro para tr as: para l = L 1, L 2, . . . , 1,
l = (WlT +1 l+1 ).fl (netl )

onde T indica transposi c ao de matriz. 5. Atualize os pesos e bias: Wl = l ylT 1 bl = l Esta nota c ao e bem mais compacta do que a nota c ao em grafos, apesar de descreverem exatamente a mesma seq u encia de opera c oes (considerando redes em camadas).

30

2. Redes Neurais

2.8

Classica c ao de padr oes

Acabamos de desenvolver um m etodo para treinamento de redes neurais. Dado um conjunto de entradas (x) e sa das desejas (y ), a rede encontra um mapeamento de x para y . Dado um valor x que n ao faz parte da base de treinamento, a rede neural faz uma predi c ao do valor de y . A habilidade de predizer (corretamente) a sa da correspondente a uma entrada n ao vista e conhecida por capacidade de generaliza c ao. Este estilo de aprendizagem e chamado de aprendizagem supervisionada (ou aprendizagem com tutor) pois nos s ao dados rela c oes conhecidas entre entrada e sa da. Aprendizagem n ao supervisionada busca encontrar padr oes em dados em vez de encontrar um mapeamento entre entrada e sa da. Vamos a seguir considerar outro tipo de aprendizagem supervisionada, al em de regress ao linear vista acima, aplicada ao problema de classica c ao de padr oes.

Classica c ao de padr oes


Um exemplo cl assico de classica c ao de padr oes e o reconhecimento de caracteres. A partir de conjuntos de valores de pixels associados ` a imagem de um caracter, procuramos um procedimento computacional que determine a letra de uma imagem ainda n ao classicada. Os valores dos pixels s ao as entradas e as categorias de letras correspondem ` as sa das. A letra A por exemplo pode assumir uma forma bem diferente dependendo da fonte utilizada. No caso de escrita ` a m ao, o padr ao vai variar conforme a pessoa que escreve. Logo, existe uma regi ao de valores para as vari aveis de decis ao que s ao mapeadas para a mesma classe. Isto e, se desenharmos os valores das vari aveis de decis ao, regi oes distintas v ao corresponder a classes distintas, conforme ilustra a Fig. 2.25. x2 classe 0 classe 1

x1

Figura 2.25: Exemplo de problema de classica c ao de padr oes. Regi oes s ao associadas aos padr oes.

2. Redes Neurais

31

Classica c ao de padr oes com redes de uma camada


Podemos seguir a abordagem de regress ao linear onde os alvos passam a ser classes. Note que as sa das n ao s ao mais valores cont nuos, mas assumem uma natureza discreta. O que acontece se tivermos apenas duas classes? Com apenas duas classes, precisamos de apenas uma unidade de sa da, de acordo com a ilustra c ao da Fig. 2.26. O alvo e 1 se o exemplo est a, digamos, na classe 1 e o alvo e 0 (ou -1) se o alvo est a na classe 0. Parece razo avel usar uma fun c ao degrau para garantir a sa da apropriada. sa da

w1

w2

wn

x1

x2

xn

Figura 2.26: Rede neural com apenas uma unidade de sa da para classica c ao em duas classes. Vamos discutir dois m etodos para treinamento de redes de uma camada para classica c ao de padr oes: Perceptron: garante encontrar os pesos corretos caso existam. Adaline: (usa regra delta) pode ser facilmente generalizada para redes multicamada (problemas n ao-lineares). Mas como podemos saber se existem pesos que resolvem o problema de classica c ao? Primeiramente vamos examinar o que a arquitetura de uma camada e capaz de representar.

Rede de uma camada com fun c ao degrau para ativa c ao


Considere uma rede com dois n os de entradas e um n o de sa da (2 classes). A sa da l quida da rede e uma fun c ao linear dos pesos e das entradas: net = wT x = w1 x2 + x2 w2 y = f (net) Suponha que desejamos que a sa da assuma o valor 0 para a classe 0, e o valor 1 para a classe 1. Isto signica que desejamos: net > 0 para classe 1 net < 0 para classe 0

32

2. Redes Neurais

A linha de divis ao entre as duas classes e a linha denida por net = 0, ou seja, o conjunto de pontos que satisfazem a equa c ao w1 x1 + w2 x2 = 0. Estas no c oes podem ser visualizadas na Fig. 2.27. x2 classe 0 classe 1

x1 fronteira de decis ao

Figura 2.27: Exemplo de fronteira de decis ao que passa pela origem. O que aconteceria se a linha que divide as duas classes n ao passa pela origem? Ver Fig. 2.28 para um exemplo. Para descrever esta linha podemos introduzir uma constante b, para que a reta seja denida por x2 = ax1 + b. A constante b pode ser incorporada na rede atrav es do bias. Bias apareceu inicialmente no caso de regress ao e podemos fazer o mesmo nesta situa c ao, adicionando uma entrada ct cia com valor xo em 1. O peso associado com esta entrada e dito peso bias. Agora temos como equa c ao: net = w1 x1 + w2 x2 + b = wT x + b =0 A rede neural aumentada do peso bias aparece na Fig. 2.29. Note que f (net) = f (w1x1 + w2 x2 + b) = 0 se net < 0 e f (net) = 1 set net > 0. Outras duas observa c oes de interesse s ao: 1. o vetor de pesos w = (w1 , w2) e normal ` a fronteira de decis ao, ou seja, x net = net net ( x1 , x2 ) = (w1 , w2 ). Outra demonstra c ao pode ser obtida via interpreta c ao geom etrica: seja z2 z1 um vetor paralelo ` a fronteira de decis ao; ent ao, z1 , z2 pertencem ` a fronteira, implicando wT z1 + b = 0 e wT z2 + b = 0 que, por sua vez, implica wT (z2 z1 ) = 0; mas isto implica em w ser perpendicular a z2 z1 e, portanto, perpendicular ` a fronteira de decis ao.
b| . J a que w e ortogonal ` a fronteira, deve2. a dist ancia da origem ` a fronteira e |w mos encontrar um escalar c tal que cw esteja na fronteira, o que signica dizer que wT (cw) + b = 0 = c w 2 = b = c = b/ w 2 ; o comprimento do b| |b| = |w . vetor cw e cw = | c| w = w 2 w

2. Redes Neurais

33

x2

classe 0 classe 1

x1 fronteira de decis ao

Figura 2.28: Exemplo de fronteira de decis ao que n ao atravessa a origem. f (w1 x1 + w2 x2 + b) w1 w2 x1 x2 1 b

Figura 2.29: Rede neural, com ajuste de inclina c ao e intercepta c ao, contendo apenas uma unidade de sa da para classica c ao em duas classes.

Classes linearmente separ aveis Problemas de classica c ao cujas classes podem ser separadas por uma reta (hiperplano no caso multi-dimensional) s ao ditos problemas linearmente separ aveis. Redes de uma camada s o conseguem resolver problemas linearmente separ aveis. Contudo, a maioria dos problemas encontrados na pr atica n ao s ao linearmente separ aveis.

2.9

Perceptron

A regra de aprendizagem perceptron e um m etodo para encontrar os pesos em uma rede. Considere o problema de aprendizagem supervisionada para classica c ao embora outros tipos de problemas possam tamb em ser resolvidos. Uma propriedade desej avel da regra de aprendizagem perceptron adv em de sua habilidade de encontrar os pesos otimos caso eles existam. Isto e verdade para representa c oes bin arias.

34

2. Redes Neurais

Hip oteses A rede possui apenas uma camada cuja sa da e dada por: output = f (net) = f (wT x) onde w e o vetor de pesos, x e o vetor de entradas e f e uma fun c ao degrau bin aria que assume os valores 1. O bias e tratado como uma outra entrada cujo valor e xo em 1. m e o n umero de exemplos de treinamento (x, t) com t assumindo os valor +1 ou 1. Interpreta c ao geom etrica Com a fun c ao bin aria f , o problema se reduz a encontrar os pesos tal que T sign(w x) = t. Ou seja, os pesos devem ser escolhidos de maneira que a proje c ao do padr ao x em w tenha o mesmo sinal de t. Mas a fronteira entre proje c oes positivas e negativas e apenas o plano {x : wT x = 0}, ou seja, uma fronteira de decis ao conforme a Fig. 2.30. x2

x1

Figura 2.30: Classica c ao linear como um problema de proje c ao de x em w. Algoritmo perceptron 1. Inicialize os pesos (com valores pequenos aleatoriamente): wij [1, 1] aleatoriamente, para toda sa da i e entrada j 2. Escolha uma taxa de aprendizagem 3. Repita at e converg encia 4. Para cada ponto de treinamento (xp , tp ) 5. Coloque xp nas entradas da rede 6. Calcule a ativa c ao da unidade de sa da: p T p y = f (w x ) 7. Se y p = tp , n ao modique os pesos p p 8. Se y = t , atualize os pesos como segue: 9. wnew = w + 2tp xp

2. Redes Neurais

35

Considere o que acontece quando ocorre treinamento dos padr oes p1 e p2 indicap1 p2 dos na Fig. 2.31. Note que os exemplos x e x est ao incorretamente classicados pela fronteira de decis ao (linha tracejada). Suponha que o exemplo p1 e selecionado p1 pelo algoritmo. Uma vez que t = 1, o vetor de pesos w e deslocado na dire c ao de xp1 dada pelo vetor 2txp1 . Suponha que tiv essemos escolhido o padr ao p2 para executar uma itera c ao do p2 algoritmo. O padr ao p2 tem classica c ao t = 1, logo o peso e movido de um vetor na dire c ao xp2 de um comprimento proporcional dado por 2, como indicado na Fig. 2.32. Em ambos os casos a nova fronteira leva ` a classica c ao correta dos padr oes. x2
fronteira

t=1 t = 1

xp1 2tp1 xp1 w x1 wnew


fronteiranew

xp2 Figura 2.31: Ilustra c ao do algoritmo de treinamento perceptron. Note que o vetor 2txp1 e paralelo ao vetor xp1 , tendo a mesma dire c ao e um comprimento dado por p1 2 vezes o comprimento de x .

Coment arios sobre perceptron A escolha da taxa de aprendizagem n ao importa no resultado nal, pois apenas modica a escala de w. A fronteira de decis ao (para o caso de duas entradas e um peso bias) tem equa c ao: x2 = w1 w3 x1 w2 w2 (2.14)

onde w3 = b representa o bias. A partir da equa c ao (2.14) podemos perceber que a fronteira de decis ao depende apenas de w = (w1 , w2 , w3 ) = (w1 , w2 , b), mas n ao depende da taxa de aprendizagem. O algoritmo perceptron tem garantia de converg encia em um n umero nito de passos se o problema e linearmente separ avel. Contudo, se o problema de classica c ao n ao for separ avel, o algoritmo pode se tornar inst avel.

36

2. Redes Neurais

x2

fronteira

t=1 t = 1

xp1 2xp2 w x1 wnew


fronteiranew

xp2 Figura 2.32: Ilustra c ao do algoritmo de treinamento perceptron. Note que o p2 p2 vetor 2t x = 2xp2 e paralelo ao vetor xp2 , mas tendo a dire c ao oposta e um comprimento dado por 2 vezes o comprimento de xp2 .

2.10

Regra delta

A regra delta e tamb em conhecida por outros nomes, tais como regra adaline, regra de Widrow-Ho e m nimos quadrados. O princ pio desta regra est a em substituir a fun c ao degrau bin aria da regra perceptron por uma fun c ao de ativa c ao cont nua e diferenci avel, tal como a fun c ao linear. No caso de problemas de classica c ao, a fun c ao degrau bin aria e aplicada apenas para determinar a classe dos exemplos, n ao sendo usada no c omputo dos pesos. Note que este algoritmo e, em ess encia, id entico ao algoritmo de regress ao linear visto acima, diferindo apenas na forma de determinar as classes. Esta diferen ca entre as duas regras de treinamento pode ser entendida atrav es da Fig. 2.33. Treinamento Perceptron tutor sa da Regra Delta sa da tutor erro erro pesos pesos

entradas

entradas

Figura 2.33: Diferen ca entre as arquiteturas dos algoritmos de treinamento com regra delta e perceptron.

2. Redes Neurais

37

Regra delta: m etodo de descenso revisitado Primeiramente, obtenha uma fun c ao custo E que ara o qu ao bem a rede aprendeu a classicar os padr oes. Por exemplo, para o caso com uma sa da u nica, podemos utilizar: n 1 E= (ti yi )2 2 i=1 onde: n e o n umero de exemplos; ti e o valor desejado associado ao i- esimo exemplo; e yi e a sa da da rede obtida quando as entradas s ao alimentadas com o i- esimo padr ao. Para treinar a rede, ajustamos os pesos no sentido de reduzir o custo, mas sob a hip otese de diferenciabilidade da fun c ao custo. Os passos principais do algoritmo s ao: 1. Inicialize os pesos com valores pequenos e aleat orios, por exemplo, valores uniformemente distribu dos no intervalo [1, 1]. 2. At e que a fun c ao E atinja a toler ancia desejada, atualize os pesos conforme as equa c oes abaixo: 1 E= 2 E = w
n n

i=1

(ti yi)2

(2.15) (2.16) (2.17)


E w

i=1

(ti yi )xi E w e o gradiente.

wnew = wold

onde E e avaliada para wold , e a taxa de aprendizagem e Trabalhando com mais de duas classes

Se existir mais de duas classes podemos utilizar a mesma rede, mas no lugar do valor de sa da bin ario passamos a utilizar valores discretos. Por exemplo, para o caso de 5 classes, poder amos utilizar os valores desejados como sendo t {1, 2, 3, 4, 5} ou t {2, 1, 0, +1, +2}. Contudo, a experi encia te orico-pr atica nos diz que e mais adequado utilizar v arias fun c oes de sa da. Em outras palavras, cada n o de sa da passa a resolver um problema bin ario que corresponde ` a decis ao de pertencer ou n ao a uma certa classe. A Fig. 2.34 d a uma id eia de como fronteiras de decis ao individualizadas poderiam ser utilizadas para discriminar a pertin encia a uma classe espec ca. A rede neural que implementa este classicador aparece na Fig. 2.35.

38
fronteira de decis ao para classe 1 classe 1 classe 0

2. Redes Neurais

fronteira de decis ao para classe 2

fronteira de decis ao para classe 0

classe 2

Figura 2.34: Exemplo de problema de classica c ao com m ultiplas classes. y1 y2 y3

x1

x2

x3 = bias

Figura 2.35: Rede neural que implementa classicador de m ultiplas classes.

2.11

Princ pios para projeto de classicadores

Aqui discutimos princ pios gerais para concep c ao de redes neurais empregadas em problemas de classica c ao.

2.11.1

M etodo antigo

No caso de existirem mais de duas classes, foi sugerida a seguinte conduta: associe uma sa da a cada uma das classes; dena o valor alvo de sa da 1 quando o padr ao pertencer a uma certa classe, e o valor 0 caso contr ario; projete uma rede linear com fun c ao erro igual a soma dos erros quadr aticos; e determine a classe de predi c ao para um padr ao como a sa da de maior valor. H a dois problemas com este m etodo. Primeiro, a deni c ao da fun c ao erro e a determina c ao das classes s ao desconexas. Segundo, um erro m nimo n ao necessariamente

2. Redes Neurais

39

produz a rede com o maior n umero de predi c oes corretas. Contudo, e poss vel fazer alguns ajustes neste m etodo e contornar estas inconsist encias. Iniciaremos com uma mudan ca da interpreta c ao da sa da.

2.11.2

M etodo revisado

Segundo a nova interpreta c ao, yi passa a ser a probabilidade do padr ao pertencer ` a classe i. Para tanto: cada sa da deve estar entre 0 e 1; e a soma das sa das para cada padr ao deve igualar a 1. Como podemos implementar tais restri c oes? H a v arios pontos a serem considerados. Podemos substituir a fun c ao de ativa c ao linear por outra fun c ao como, por 1 exemplo, a fun c ao sigmoide . Sigmoides variam continuamente entre 0 e 1, satisfazendo assim a primeira restri c ao aplicada sobre probabilidades. (A fun c ao sigmoide e uma boa escolha?) Podemos tamb em variar a fun c ao custo. N ao estamos restritos a utilizar o erro quadr atico m edio EQM (do ingl es, mean squared error). Quais s ao as outras op c oes? Para responder esta quest ao podemos pensar sobre o que faz sentido intuitivamente. Aplicando o m etodo de descenso sobre a fun c ao EQM de uma rede linear, descobrimos que os pesos eram proporcionais ao erro (Errop = (tp y p )) Isso faz sentido. Se passarmos a utilizar a fun c ao sigmoide como fun c ao de ativa c ao obteremos uma f ormula mais complicada: E = (t y )y (1 y ) w Esta forma n ao exatamente o que procuramos. Contudo, h a uma combina c ao de fun c ao erro e fun c ao de ativa c ao que produz os resultados esperados (entropia cruzada e softmax, respectivamente). Fun c ao erro (entropia cruzada) A fun c ao erro adequada para a tarefa que estamos tratando e a entropia cruzada (do ingl es, cross entropy) denida por:
c

E =
j =1

p tp j ln(yj )

(2.18)

onde c e o n umero de classes (i.e., n umero de n os de sa da da rede) e p e um padr ao a ser treinado. A equa c ao (2.18) tem suas ra zes na teoria da informa c ao, sendo aplicada com freq u encia quando as sa das (y ) s ao interpretadas como probabilidades. N ao vamos nos aprofundar nas suas origens, por em tentaremos vericar se ela faz sentido em alguns casos especiais. Suponha que a rede e treinada com perfei c ao a mapear com exatid ao os padr oes ` as suas classes.
A fun ca o sigmoide e denida por (x) = 1/(1 + eax ) onde a e uma constante positiva. Tamb em e conhecida por fun ca o log stica. Quanto maior a constante a, mais inclinada ser a a curva.
1

40

2. Redes Neurais

Suponha que a classe 3 e escolhida. Isto signica que a sa da do n o 3 deve ser 1 (a probabilidade da classe 3 corresponder ao padr ao e m axima) enquanto a sa da dos n os das demais classes deve ser 0 (probabilidade m nima). Neste caso, o resultado da equa c ao (2.18) e zero, como desejado. Suponha que a rede d a sa da yj = 1 para todas as sa da indicando que h a total 2 incerteza sobre a classe do padr ao. Neste caso, E assume o seu valor m aximo. Fun c ao de ativa c ao (softmax) A fun c ao de ativa c ao softmax e denida por: fj (x) = exj
c

j = 1, . . . , c

(2.19)

exk
k =1

onde fj e a fun c ao de ativa c ao da j - esima sa da e c e o n umero de classes. Observe que a fun c ao softmax tem boas propriedades: seu valor sempre est a entre 0 e 1; e quando combinada com a fun c ao erro d a pesos proporcionais a (t y ), como pode ser observado no desenvolvimento abaixo:
c

E=
j =1 c

tj ln(yj ) tj ln(fj (net))


j =1 c

= E = wrs fj (net) = wrs E = wrs

j =1 c

tj fj (net) fj (net) wrs fj (net) netk netk wrs

k =1

= tj (jr yr )xs
c j =1

tj (jr yr )xs

onde ij = 1 se i = j e ij = 0 quando i = j . Note que se r e a classe correta ent ao tr = 1 e o lado-direito da equa c ao acima se reduz a (tr yr )xs . Se q = r e a classe correta, ent ao tr = 0 e a express ao acima tamb em se reduz a (tr yr )xs . Logo temos: E = (tr yr )xs wrs (2.20)

A equa c ao (2.20) e famliar? Note que ela tem a mesma forma da derivada do erro em rela c ao a w da regra delta, equa c ao (2.16), apresentada na Se c ao 2.10.

2. Redes Neurais

41

2.12

Refer encias

O conte udo apresentado neste cap tulo e uma compila c ao traduzida das notas de aula de Orr et al. [12] e do livro texto de Mitchell [10]. Uma ferramenta excelente para s ntese de redes neurais, de v arios tipos, e com algoritmos de treinamento otimizados e o Matlab. Informa c oes sobre o Toolbox para redes neurais podem ser obtidas no site: http://www.mathworks.com/access/helpdesk/help/toolbox/nnet/nnet product page.html.

2.13

Exerc cios
1 2

EX: Verique se a entropia cruzada assume o valor m aximo quando yj = toda a sa da j .

para

42

2. Redes Neurais

Cap tulo 3 L ogica Fuzzy (Nebulosa)


Fuzzy logic ts best when variables are continuous and/or mathematical models do not exist. [Earl Cox, 1992]

3.1

Introdu c ao

Um controlador fuzzy procura imitar as a c oes do operador atrav es de conjuntos fuzzy. Para uma ilustra c ao, considere o tanque de cimento em p o dado na Fig. 3.1, que alimenta o misturador a uma taxa mais ou menos constante. O projeto simplicado possui dois sensores e uma v alvula magn etica. O objetivo e controlar a v alvula V1 tal que o tanque seja reabastecido quando o n vel ser torne baixo (LL), interrompendo o abastecimento quando o n vel se torna alto (LH ). O sensor LL emite o sinal 1 quando o n vel est a acima da marca, 0 quando o n vel est a abaixo da marca. O sensor LH opera de forma an aloga. A v alvula abre quando V1 e colocado em 1 e fecha quando V1 e colocado em 0. Na l ogica Booleana, o controlador poderia ser descrito por: V1 = 1, se LL passa de 1 para 0 0, se LH passa de 0 para 1 (3.1)

Um operador cuja responsabilidade e abrir e fechar a v alvula poderia seguir a estrat egia: Se o n vel e baixo ent ao abra V1 (3.2) Se o n vel e alto ent ao feche V1 A estrat egia (3.1) e adequada para CLPs (controladores l ogico-program aveis) que utilizam l ogica Booleana, contudo a estrat egia (3.2) e recomendada para um controlador baseado em l ogica fuzzy. Aqui o objetivo n ao e dar detalhes da implementa c ao do controlador fuzzy, mas fazer uso do exemplo para explicar os princ pios da l ogica fuzzy. Lofti Zadeh, o pai da l ogica fuzzy, sugere que muitos conjuntos encontrados no mundo n ao s ao denidos por uma fronteira clara. Por exemplo, o conjunto das montanhas altas ou o conjunto das medi c oes baixas (conforme Fig. 3.1) s ao exemplos de tais conjuntos. Zadeh prop os a extens ao da l ogica bin aria, {0, 1}, para o dom nio cont nuo, intervalo [0, 1], dessa forma permitindo uma transi c ao gradual da

44

3. L ogica Fuzzy (Nebulosa)

V1 LH

LL

Figura 3.1: Tanque de alimenta c ao de cimento em p o. falsidade para a verdade. Os artigos originais sobre teoria fuzzy [17, 18, 19] mostram como a teoria de conjuntos fuzzy resulta da extens ao da teoria de conjuntos. A seguir, vamos nos concentrar na teoria fuzzy que toma coma base o sistema (3.2), apresentando as deni c oes e opera c oes b asicas deste dom nio.

3.2

Conjuntos fuzzy

Conjuntos fuzzy s ao desdobramentos da no c ao matem atica de conjunto. Conjuntos foram estudados formalmente por Cantor (1845-1918). A teoria de conjuntos encontrou muita resist encia no princ pio, contudo e hoje apreciada pelos matem aticos pela sua capacidade de express ao. Muitos pesquisadores est ao estudando as conseq u encias da teoria de conjuntos fuzzy, com vasta literatura matem atica. Para engenheiros de controle, l ogica fuzzy e rela c oes fuzzy s ao os conceitos mais importantes para se entender como que regras fuzzy funcionam.

Conjuntos convencionais
Um conjunto e qualquer cole c ao de objetos que podem ser tratados como um todo. Cantor descreveu um conjunto por meio de seus membros, tal que um item de um certo universo e membro ou n ao do conjunto. Os termos conjunto, cole c ao e classe s ao usados como sin onimos, da mesma forma que item, elemento e membro se referem ` a mesma entidade. Quase tudo que e dito conjunto em conversa corriqueira pode ser um conjunto aceit avel em matem atica. Exemplos de conjuntos: As listas ou cole c oes de objetos abaixo s ao conjuntos: O conjunto dos inteiros n ao-negativos inferiores a 4. Este e um conjunto nito com quatro elementos: {0, 1, 2, 3}. O conjunto dos dinossauros que vivem no campus da Universidade Federal de Santa Catarina. Este e um conjunto vazio.

3. L ogica Fuzzy (Nebulosa)

45

pertinencia 1

0.5

0 20 40 60 80 100 percentual de enchimento

Figura 3.2: Grau de pertin encia no caso do tanque de cimento em p o. O conjunto de medidas maiores que 10 volts. Apesar deste conjunto ser innito, e poss vel determinar se uma dada medida e um membro ou n ao. Um conjunto pode ser especicado por seus elementos os elementos d ao uma caracteriza c ao completa. A lista de membros A = {0, 1, 2, 3} dene um conjunto nito. N ao e poss vel listar todos os elementos de um conjunto innito. Devemos encontrar uma propriedade que caracteriza todos os elementos do conjunto, por exemplo, todos os n umeros reais x > 10. Logo h a duas maneiras de descrever um conjunto: explicitamente por meio de uma lista ou implicitamente por meio de um predicado que deve ser satisfeito pelos membros.

Conjuntos fuzzy
De acordo com Zadeh, conjuntos podem ter mais de um crit erio de pertin encia al em de estar contido ou n ao. Tome como exemplo o conjunto das pessoas jovens. Um beb e com um ano de idade certamente pertence a este conjunto, e uma pessoa de 100 anos certamente n ao est a presente no conjunto, mas o que podemos dizer sobre as pessoas de 20, 30 e 40 anos de idade? Outro exemplo adv em do notici ario meteorol ogico com altas temperaturas, fortes ventos ou dias belos. Em outros casos o crit erio parece n ao ser nebuloso, mas e entendido como nebuloso: a velocidade limite de 60 km/h, o hor ario de check-out do hotel, um homem com 50 anos de idade. Zadeh prop os um grau de pertin encia, de forma que a transi c ao entre pertin encia e n ao-pertin encia e gradual e n ao abruta. O grau de pertin encia para todos os seus membros descreve um conjunto fuzzy. O grau de pertin encia de um elemento e um n umero entre 0 e 1, freq uentemente denotado pela letra grega . Quanto mais alto o n umero, maior o grau de pertin encia (Fig. 3.2). De acordo com Zadeh o conjunto de Cantor e um caso especial onde os elementos t em pertin encia completa, ou seja, = 1. Mesmo assim chamaremos os conjuntos com pertin encia completa de conjuntos n ao-fuzzy de Cantor. Observe que Zadeh n ao d a uma base formal para determinar o grau de pertin encia. O grau de pertin encia de uma pessoa de 50 anos ao conjunto de pessoas jovens depende da vis ao de cada um. O grau de pertin encia e uma no c ao precisa mas subjetiva que depende do contexto.

46

3. L ogica Fuzzy (Nebulosa)

O grau de pertin encia fuzzy difere da no c ao estat stica de distribui c ao de probabilidade. Isto pode ser ilustrado no exemplo abaixo: Exemplo (probabilidade possibilidade): (Zadeh in [20]) Considere a arma c ao Jos e comeu X ovos durante o caf e da manh a, onde X U = {1, 2, . . . , 8}. Podemos associar a distribui c ao de probabilidades p observando como Jos e se alimenta de ovos no caf e da manh a por cerca de 100 dias: U = [ 1 2 3 4 5 6 7 8 ] p = [ 0, 1 0, 8 0, 1 0 0 0 0 0 ] Um conjunto fuzzy, que expressa o grau de possibilidade de Jos e ter comido X ovos, pode ser dado pela distribui c ao de possibilidade : U = [ 1 2 3 4 5 6 7 8 ] = [ 1 1 1 1 0, 8 0, 6 0, 4 0, 2 ] onde a possibilidade de X = 3 e 1, enquanto a probabilidade e apenas 0, 1. Discuss ao: O exemplo mostra que um evento poss vel n ao implica que ele e prov avel. Por outro lado, se um evento e prov avel ent ao ele deve ser poss vel. Podemos ver a fun c ao de pertin encia fuzzy como uma distribui c ao pessoal, em contraste com a distribui c ao estat stica que e baseada em observa c oes.

Universo
Elementos de um conjunto fuzzy s ao tomados a partir de um universo. O universo cont em todos os elementos que podem ser considerados. At e mesmo o universo depende do contexto, como ilustra o exemplo abaixo. Exemplo (universo): a) O conjunto das pessoas jovens poderia ter todas as pessoas do mundo como universo. Por outro lado, o universo poderia ser a faixa de 0 a 100, que representariam a idade como mostra a Fig. 3.3. b) O conjunto dos x > 10 (x deve ser maior do que 10) poderia ter como universo todas as medi c oes positivas. O emprego do universo visa suprimir o uso de dados incorretos, por exemplo medi c oes negativas do n vel do tanque. Quando lidamos com quantidade n ao num ericas como, por exemplo, sabor que n ao pode ser medido em uma escala num erica, n ao podemos fazer uso de um universo num erico. Os elementos s ao tomados a partir de um conjunto de no c oes psicol ogicas: por exemplo, o universo poderia ser {amargo, doce, azedo, salgado, quente, . . .}.

3. L ogica Fuzzy (Nebulosa)

47

pertin encia
1

muito jovem
0.5

idoso meio idoso

jovem n ao muito jovem

0 20 40 60 80 100

idade Figura 3.3: Fun c ao pertin encia para o conjunto fuzzy de pessoas jovens.

Fun c oes de pertin encia


Cada elemento do universo tem um grau de pertin encia ao conjunto fuzzy, talvez nulo. O conjunto de elementos que t em grau de pertin encia n ao nulo e dito conjunto suporte do conjunto fuzzy. A fun c ao que associa um n umero a cada elemento x do universo e dita fun c ao de pertin encia, sendo denotada por (x). Representa c oes cont nuas e discretas: H a duas alternativas para representar fun c oes de pertin encia em um computador: cont nua ou discreta. No caso cont nuo, a fun c ao de pertin encia e uma fun c ao matem atica, possivelmente um programa. Exemplos de fun c oes de pertin encia s ao a curva , a curva s, a curva z , a triangular e a trapezoidal. A Fig. 3.3 apresenta um exemplo de fun c ao s. No caso discreto, a fun c ao de pertin encia e o universo s ao pontos de uma lista (vetor). Algumas vezes pode ser conveniente represent a-la por meio de amostras. Em general, a forma cont nua demanda mais CPU, mas requer menos mem oria dos que a forma discreta. Exemplo (fun c ao de pertin encia cont nua): A fun c ao coseno pode ser usada para gerar uma variedade de fun c oes de pertin encia. A curva s pode ser gerada fazendo: x < xl 0, 1 1 x x r + cos( xr xl ), xl x xr s(xl , xr , s) = 2 2 1, x > xr onde xl e o ponto de quebra ` a esquerda e xr e o ponto de quebra ` a direita. A curva z e apenas uma reex ao da curva s: x < xl 1, x x l 1 1 + cos( xr xl ), xl x xr z (xl , xr , s) = 2 2 0, x > xr

A curva pode ser implementada por meio da combina c ao das curvas s e z , tal

48

3. L ogica Fuzzy (Nebulosa)

que o pico seja constante no intervalo [x2 , x3 ]: (x1 , x2 , x3 , x4 , x) = min(s(x1 , x2 , x), z (x3 , x4 , x)) Exemplo (fun c ao de pertin encia discreta): Para uma representa c ao discreta da Fig. 3.2, suponha que o universo e representado pelas amostras: u = [0 20 40 60 80 100] Podemos estabelecer a rela c ao de pertin encia atrav es da lista de valores: (10, 90, 100, 100, u1) = 0 (10, 90, 100, 100, u2) = 0, 04 (10, 90, 100, 100, u3) = 0, 31 (10, 90, 100, 100, u4) = 0, 69 (10, 90, 100, 100, u5) = 0, 96 (10, 90, 100, 100, u6) = 1 Normaliza c ao: Um conjunto fuzzy e normalizado se o maior valor de pertin encia e 1. Um conjunto pode ser normalizado dividindo o valor de pertin encia de cada elemento pelo maior valor de pertin encia: a/ max(a).

Pares fuzzy
Um conjunto fuzzy A e uma cole c ao de pares: A = {(x, (x))} O item x pertence ao universo e (x) e o grau de pertin encia a A. Um par (x, (x)) e dito par fuzzy, logo o conjunto pode ser visto como a uni ao de pares fuzzy. Pode ser conveniente pensar em A como um vetor: a = ((x1 ), (x2 ), . . . , (xn )) onde se entende que cada posi c ao i (1, 2, . . . , n) corresponde a um ponto do universo.

Vari aveis lingu sticas


Da mesma forma que vari aveis alg ebricas assumem valores num ericos, uma vari avel ling u stica pode ter palavras ou senten cas como valores. O conjunto de valores que ela pode assumir e dito conjunto de termos. Cada valor no conjunto de termos e uma vari avel fuzzy denida sobre a vari avel base. A vari avel base dene o universo do discurso para todos as vari aveis fuzzy no conjunto de termos. Em outras palavras, a hierarquia e dada por: vari avel ling u stica vari avel fuzzy vari avel base.

3. L ogica Fuzzy (Nebulosa) pertin encia


1

49

baixo

alto

0.5

0 20 40 60 80 100

percentual de enchimento Figura 3.4: Conjunto de termos {baixo,alto} para o problema do tanque de cimento. Exemplo (conjunto de termos): Seja x uma vari avel ling u stica sobre idade. Termos desta vari avel ling u stica, que s ao conjuntos fuzzy, podem ser: idoso, jovem e muito jovem. O conjunto de termos pode ser colocado como: T = {idoso, n ao t ao velho, meio jovem, jovem, muito jovem} Cada termo do conjunto de termos T e uma vari avel fuzzy sobre a vari avel base, a qual pode ter como escala valores entre 0 e 100 anos.

Exemplo do tanque
Agora estamos mais pr oximos da representa c ao de uma regra de controle fuzzy. Na premissa, Se o n vel e baixo, . . . claramente baixo e uma vari avel fuzzy, um valor da vari avel ling u stica n vel. Est a denida sobre um universo, que e a faixa de valores esperados para n vel, ou seja, o intervalo [0, 100] com percentuais de tanque cheio. As medidas de n vel s ao escalares, e a declara c ao n vel e baixo corresponde ao valor de pertin encia n vel(i), onde n vel e arredondado para o elemento mais pr oximo do universo para encontrar um n vel apropriado para i. O sa da e um n umero [0, 1] que diz qu ao bem a premissa e satisfeita. A Fig. 3.4 sugere uma deni c ao para o conjunto de termos {baixo,alto} para o problema do tanque.

3.3

Opera c oes sobre conjuntos fuzzy

A fun c ao de pertin encia e obviamente um componente crucial de um conjunto ent fuzzy. E ao natural denir opera c oes sobre conjuntos fuzzy atrav es de suas fun c oes de pertin encia.

Opera c oes sobre conjuntos


Opera c oes sobre conjuntos fuzzy criam um novo conjunto fuzzy, ou v arios conjuntos, como ilustra a Fig. 3.5, onde os conjuntos fuzzy A B , A B e A B s ao criados a partir dos conjuntos A e B .

50 pertin encia
1

3. L ogica Fuzzy (Nebulosa)

AB
0.5

AB
0 20 40 60 80 100

percentual de enchimento Figura 3.5: Opera c oes sobre conjuntos fuzzy. Deni c ao 1 Sejam A e B dois conjuntos fuzzy em um mesmo universo. A interse c ao de A e B e denida por: A B a min b Ou seja o grau de pertin encia de um elemento x em rela c ao a A B e dado por AB (x) = min(A (x), B (x)) Deni c ao 2 A uni ao de dois conjuntos fuzzy e dada por: A B a max b Ou seja, ou grau de pertin encia de um elemento x ao conjunto A B e dado por AB = max(A (x), B (x)). ) Deni c ao 3 O conjunto fuzzy completo de A (A e denido por: =1a A Ou seja, o grau de pertin encia de um elemento x em rela c ao ao conjunto A e dado ( x ) = 1 ( x ) . por A A Deni c ao 4 Um conjunto fuzzy X e um subconjunto fuzzy de Y , escrito X Y , se sua fun c ao de pertin encia for menor ou igual ` a fun c ao de pertin encia de Y para todos os elementos do universo comum. Ou seja, X (x) Y (x). Na Fig. 3.5 temos que (A B ) (A B ) Exemplo (comprando uma casa): Uma fam lia com quatro integrantes deseja comprar uma casa. Uma indica c ao de conforto se refere ao n umero de quartos de dormir. Eles tamb em desejam comprar uma casa grande. Seja u = (1, 2, . . . , 10) o conjunto de casas dispon veis descritas pelo n umero de quartos de dormir. Ent ao o conjunto fuzzy c que caracteriza conforto pode ser descrito como: c = [0, 2 0, 5 0, 8 1 0, 7 0, 3 0 0 0 0]

3. L ogica Fuzzy (Nebulosa)

51

Tabela 3.1: Opera c oes sobre conjuntos fuzzy Propriedade Nome AB =BA comutatividade AB =BA comutatividade (A B ) C = A (B C ) associatividade (A B ) C = A (B C ) associatividade A (B C ) = (A B ) (A C ) distributividade A (B C ) = (A B ) (A C ) distributividade AB =AB DeMorgan AB =AB DeMorgan (A B ) A = A Absor c ao (A B ) A = A Absor c ao AA=A Idempot encia AA=A Idempot encia Exclus ao n ao e satisfeita AA=1 AA=0 Exclus ao n ao e satisfeita Seja i o conjunto fuzzy caracterizando a no c ao de grande. O conjunto i pode ser caracterizado por: i = [0 0 0, 2 0, 4 0, 6 0, 8 1 1 1 1] A interse c ao entre confort avel e grande e dado por: c i = [0 0 0, 2 0, 4 0, 6 0, 3 0 0 0 0] Interpretando o conjunto fuzzy c i, conclu mos que uma casa com 5 quartos e otima, mas satisfat oria com grau 0,6. A segunda melhor solu c ao e a casa com 4 quartos. A uni ao de confort avel e grande nos d a: c i = [0, 2 0, 5 0, 8 1 0, 7 0, 8 1 1 1 1] Agora uma casa com 4 quartos e totalmente satisfat oria porque e confort avel, e as casas com 7 a 10 quartos tamb em porque s ao grandes. O complemento de grande produz: i = [1 1 0, 8 0, 6 0, 4 0, 2 0 0 0 0] As opera c oes e s ao associativas e comutativas. Estas propriedades s ao importantes, pois nos ajudam a predizer o resultado de senten cas longas. A Tab. 3.1 apresenta outras propriedades.

Modicadores
Um modicador ling u stico e uma opera c ao que modica o signicado de um termo. Por exemplo, na senten ca muito pr oximo de 0, a palavra muito modica

52

3. L ogica Fuzzy (Nebulosa)

a senten ca pr oximo de 0 que e um conjunto fuzzy. Um modicador e portanto uma opera c ao sobre um conjunto fuzzy. Exemplos de outros modicadores s ao pouco, mais ou menos, possivelmente e com certeza. Embora seja dif cil deixar preciso o signicado do efeito do modicador muito, com certeza ele produz um efeito intensicador. O modicador mais ou menos tem o efeito oposto. Eles s ao muitas vezes aproximados pelas opera c oes: muito (a a2 ) mais ou menos (a a) No caso de conjuntos discretos, considere o universo u = (0, 20, 40, 60, 80). Dado o conjunto: jovem = [1 0, 6 0, 1 0 0] Ent ao podemos derivar a fun c ao de pertin encia para o conjunto muito jovem elevando todos os termos ao quadro, o que produz: muito jovem = jovem2 = [1 0, 36 0, 01 0 0] Da mesma forma, o conjunto muito muito jovem e obtido fazendo: muito muito jovem = jovem4 = [1 0, 13 0 0 0] Outros exemplos de modicadores s ao: extremamente (a a3 )
1

ligeiramente (a a 3 )

Uma fam lia de modicadores pode ser gerada fazendo ap onde p e a pot encia entre zero e innito. Quando p = o modicador pode ser dito exatamente, pois isto for ca a nulica c ao de pertin encia de todas as entradas menores do que 1.

Rela c oes entre conjuntos


Em um controlador fuzzy, rela c oes entre objetos desempenham um papel relevante. Algumas rela c oes se referem a elementos de um mesmo universo: uma medida e maior que outra, um evento ocorreu antes de outro, ou um elemento se assemelha a outro. Outras rela c oes se referem a elementos de universos disjuntos: a medida e grande e a taxa de varia c ao e positiva, o valor de x e grande enquanto o de y e pequeno. Estes s ao exemplos de rela c oes entre dois objetos, mas em princ pio podemos ter rela c oes entre um n umero qualquer de objetos. Formalmente, uma rela c ao bin aria ou simplesmente rela c ao R de um conjunto A para um conjunto B designa para cada par (a, b) A B precisamente uma das senten cas: i) a est a relacionado a b; ou ii) a n ao est a relacionado a b.

3. L ogica Fuzzy (Nebulosa)

53

O produto cartesiano A B e o conjunto de todas as possibilidades de combinarmos itens de A com itens de B . Uma rela c ao fuzzy de um conjunto A para um conjunto B e um subconjunto fuzzy do produto cartesiano U V entre os respectivos universos U e V. Como exemplo, suponha que Jos e tem um sobrinho Jo ao que se parece com o sobrinho Pedro com um grau de 0,8, mas Jo ao tamb em se assemelha ao sobrinho Marcos com um grau de 0,9. Temos assim uma rela c ao de semelhan ca entre os sobrinhos de Jos e, convenientemente representada pela matriz: R1 = Pedro Marcos Jo ao 0, 8 0, 9

Para ilustramos a composi c ao de duas rela c oes, considere a rela c ao entre o tio Jos e e os sobrinhos Pedro e Marcos: R2 = Pedro Marcos Jos e 0, 5 0, 6

Podemos tentar descobrir o quanto Jo ao se parece com o tio Jos e combinando as informa c oes nas rela c oes R1 e R2 : i) Jo ao se parece com Pedro com um grau de 0,8, enquanto Pedro se parece com o tio Jos e com um grau de 0,5; ou ii) Jo ao se parece com Marcos com um grau de 0,9, enquanto Marcos se parece com o tio Jos e com um grau de 0,6. A declara c ao (i) consiste de uma cadeia de rela c oes e parece razo avel encade a-la atrav es da opera c ao de interse c ao. Isto corresponde a escolher o valor de pertin encia menor para a rela c ao transitiva Jo ao Jos e, ou seja, 0,5. Podemos proceder de maneira similar na situa c ao (ii). Realizando a opera c ao nas cadeias (i) e (ii) obtemos: iii) Jo ao se parece com o tio Jos e com um grau de 0,5; ou iv) Jo ao se parece com o tio Jos e com um grau de 0,6. As declara c oes (iii) e (iv) s ao igualmente v alidas, ent ao e razo avel aplicarmos o operador de uni ao. Isto corresponde a escolhermos a rela c ao mais forte, ou seja, o valor m aximo das rela c oes. O resultado nal nos d a: v) Jo ao se parece com o tio Jos e com um grau de 0,6. A regra geral para composi c ao de rela c oes fuzzy consiste em tomarmos o m nimo em uma s erie de conex oes, e tomarmos o m aximo em conex oes paralelas. E conveniente realizarmos isto por meio do produto interno. O produto interno e similar ao produto interno de matrizes (do ingl es, dot product), exceto que a multiplica c ao e substitu da pela interse c ao () e a soma e substitu da pela uni ao (). Suponha que R e uma matriz m p e S e uma matriz

54

3. L ogica Fuzzy (Nebulosa)

p n. Ent ao o produto interno e uma matriz m n = T = [tij ] onde a entrada ij e obtida combinando a i- esima linha de R com a j - esima coluna de S , tal que: tij = (ri1 s1j ) (ri2 s2j ) . . . (rip spj )
p

k =1

(rik skj )

De acordo com as deni c oes adotadas para interse c ao e uni ao (min e max), a composi c ao de duas rela c oes se reduz ao que e conhecido na literatura por composi c ao max-min. Se R e uma rela c ao de a para b e S e uma rela c ao de b para c, ent ao a composi c ao de R e S e uma rela c ao de a para c (lei transitiva). Exemplo (produto interno): Para as tabelas R1 e R2 dadas acima, temos: R1 R2 = [0, 8 0, 9] = [0, 5 0, 6] = 0, 6 0, 5 0, 6

3.4

L ogica fuzzy

L ogica teve como in cio o estudo da linguagem de argumenta c ao, podendo ser aplicada para julgar corretude de uma cadeia de racioc nio em demonstra c oes matem aticas, por exemplo. Na l ogica bin aria as proposi co es s ao verdadeiras ou falsas, mas n ao ambas. A veracidade ou falsidade designada a uma senten ca eo valor da senten ca. Por outro lado, na l ogica fuzzy a proposi c ao pode ser verdadeira, falsa ou ter um valor intermedi ario entre verdade e falsidade, tal como talvez verdadeira. A senten ca o n vel est a alto e um exemplo de uma proposi c ao que pode ser encontrada em um controlador fuzzy. Pode ser conveniente restringir os valores verdadeiros a um dom nio discreto, digamos {0, 0, 5, 1} para falso, talvez verdadeiro e verdadeiro neste caso estamos lidando com l ogica de m ultiplos valores. Na pr atica, uma divis ao mais na pode ser necess aria e mais apropriada.

Conectivos
Em conversa c ao cotidiana e matem atica, senten cas s ao conectadas por meio de palavras e, ou, se-ent ao (ou implica) e se-e-somente-se Estas palavras s ao ditas conectivos. Uma senten ca modicada pela palavra n ao e dita nega c ao da senten ca original. A palavra e e usada para juntar duas senten cas formando uma conjun c ao de duas senten cas. De maneira similar a senten ca formada ao conectarmos duas senten cas com a palavra ou e dita disjun c ao das duas senten cas. A partir de duas senten cas podemos construir a forma se . . . ent ao . . . que e dita senten ca condicional. A senten ca que segue o se e o antecedente, enquanto a senten ca que segue o ent ao e o conseq uente. Outros idiomas que podemos

3. L ogica Fuzzy (Nebulosa)

55

Tabela 3.2: Tabela verdade para p q (forma usual ou Cartesiana) p q pq 0 0 0 0 1 1 1 0 1 1 1 1

considerar como tendo o mesmo signicado de se p, ent ao q (onde p e q s ao senten cas) s ao p implica q , p apenas se q e q se p. As palavras se e somente se s ao usadas para obter uma senten ca bicondicional a partir de duas senten cas. Por meio de letras gregas e s mbolos especiais, os conectivos pode ser estruturados e apresentados de forma mais ecaz. A nota c ao tipicamente adotada e: paran ao parae paraou paraimplica parase e somente se

Exemplo (basquete): Considere a senten ca: Se os piratas ou os le oes perderem e os gigantes ganharem, ent ao os corredores perder ao a primeira coloca c ao e eu deixarei a artilharia. A senten ca e um condicional simbolizado por r s. O antecedente e composto de tr es senten cas: p (os piratas perderam), c (os le oes perderam) e g (os gigantes ganharam). O conseq uente e a conjun c ao da senten ca d (os corredores perder ao a primeira coloca c ao) e b (eu deixarei a artilharia). A senten ca pode ent ao ser simbolizada por: ((p c) g ) (d b) (3.3) Os valores verdadeiro-falso poss veis para uma senten ca podem ser sumarizados em uma tabela verdade. Tomemos como exemplo a tabela verdade da proposi c ao p q . A forma usual (Cartesiana) lista todas as combina c oes poss veis e os respectivos valores, conforme Tab. 3.2. A forma de Cayley coloca os argumentos p e q em linhas e colunas, como mostra a Tab. 3.3. O eixo vertical corresponde ao primeiro argumento (p), j a o eixo horizontal ca com o segundo argumento (q ). Na interse c ao da linha i com a coluna j temos o valor da express ao pi qj . Os valores nos eixos para a forma de Cayley podem ser omitidos, no caso de l ogica de dois valores, j a que estes s ao sempre 0 e 1, e nesta ordem. Tabelas verdade para conectivos bin arios podem, portanto, ser representadas por matrizes 2 2, na qual se entende que o primeiro argumento est a associado com o eixo vertical e o segundo, como o eixo horizontal. Um total de 16 tabelas deste tipo podem ser constru das, cada uma delas associada com um conectivo.

56

3. L ogica Fuzzy (Nebulosa)

Tabela 3.3: Tabela verdade para p q (forma de Cayley) 0 1 q 0 0 1 1 1 1 p

Tabela 3.4: Tabela verdade ((p c) g ) dentre 32 possibilidades) p c g 0 0 0 0 0 0 0 0 1 0 0 1 0 1 0 0 1 0 1 0 0 1 0 0 1 1 0 1 1 0

(d b) (h a 10 possibilidades de vit oria d 0 1 0 1 0 1 0 1 0 1 b 0 0 0 0 0 0 0 0 0 0

poss E vel avaliar, pelo menos em princ pio, uma senten ca l ogica pelo teste exaustivo de todas as combina c oes de valores das vari aveis da tabela verdade, o chamado arranjo l ogico. O pr oximo exemplo ilustra o procedimento de arranjo l ogico. Exemplo (arranjo l ogico): No exemplo de basquete, t nhamos ((p c) g ) (d b). A senten ca cont em cinco vari aveis e cada uma delas pode assumir dois valores. Isto signica que temos 25 = 32 combina c oes poss veis. Apenas 23 delas s ao combina c oes legais, no sentido de que as senten cas s ao v alidas (verdadeiras) para tais combina c oes, portanto, 32 23 = 9 casos s ao ilegais (ou seja, a senten ca e inv alida para tais combina c oes de valores). Assumindo que estamos interessados apenas nas combina c oes onde me mantenho na artilharia (b = 0), ent ao a Tab. 3.4 nos d a os valores verdade. Tabelas semelhantes podem ser constru das na l ogica fuzzy. Iniciamos denindo tabelas verdade para as opera c oes de nega c ao e disjun c ao, j a que podemos derivar as demais opera c oes a partir destas. Assumiremos que a nega c ao e denida como o completo, ou seja, not p 1 p induz a fun c ao de pertin encia p (x) = 1 p (x). A disjun c ao e equivalente ` a opera c ao de uni ao te orica, ou seja, p q p max q que induz a fun c ao de pertin encia pq (x) = max(p (x), q (x)). Podemos ent ao encontrar tabelas verdade para as opera c oes ou, n ao-ou, n ao-e e e. A Tab. 3.5 mostra o resultado da opera c ao ou. Note que p (x), q (x) {0, 0, 5, 1} indicando os casos que x n ao pertence ao conjunto fuzzy, talvez perten ca e pertence ao conjunto fuzzy. Outras opera c oes s ao ilustradas na Tabelas 3.6, 3.7 e 3.8. Note que a Tabela 3.8 e a nega c ao da Tabela 3.7. Similarmente, a Tabela 3.5 e

3. L ogica Fuzzy (Nebulosa)

57

Tabela 3.5: Tabela verdade da opera c ao ou: p q 0 0,5 1 0,5 0,5 1 1 1 1

Tabela 3.6: Tabela verdade da opera c ao n ao-ou: (p q ) 1 0,5 0 0,5 0,5 0 0 0 0

Tabela 3.7: Tabela verdade 1 1 1

da opera c ao n ao-e: (p) (q ) 1 1 0,5 0,5 0,5 0

Tabela 3.8: Tabela verdade da opera c ao e: ((p) (q )) 0 0 0 0 0,5 0,5 0 0,5 1

58

3. L ogica Fuzzy (Nebulosa)

Tabela 3.9: Tabela verdade da opera c ao implica c ao de G odel: p q (p 1 1 1 0 1 1 0 0,5 1

q) q

Tabela 3.10: Tabela verdade da opera c ao equival encia: (p q ) (q p) 1 0 0 0 1 0,5 0 0,5 1

a nega c ao da Tabela 3.6. Apesar da tabela verdade do e poder ser derivada das tabelas do ou e do n ao, podemos obter a tabela do e por meio da opera c ao min, o que est a de acordo com a deni c ao do conjunto interse c ao. O operador de implica c ao, por outro lado, trouxe complica c oes aos te oricos de l ogica fuzzy. Se denirmos o operador na forma usual, ou seja, p q p q , obteremos uma tabela verdade que e contra-intuitiva e inadequada porque v arias leis l ogicas deixam de ser respeitadas. V arios pesquisadores tentaram desenvolver deni c oes alternativas, chegando a uma lista com mais de 72 possibilidades. Uma outra possibilidade e a implica c ao de G odel que e mais adequada pois mais rela c oes da l ogica cl assica s ao preservadas (l ogica de dois valores, verdadeiro ou falso). Tr es exemplos s ao: 1. (p q ) p (simplica c ao) 2. [p (p q )] q ] (modus ponens) 3. [(p q ) (q r )] (p r ) (silogismo hipot etico) A implica c ao de G odel pode ser escrita como: p q (p q) q (3.4)

A tabela verdade para equival encia () pode ser determinada a partir da implica c ao e conjun c ao, se estivermos de acordo que p q e o mesmo que (p q ) (q p). A tabela verdade da implica c ao pode ser visualizada na Tab. 3.9, enquanto a tabela verdade da equival encia aparece na Tab. 3.10. poss Exemplo (modus ponens fuzzy): E vel provar uma lei enumerando todas as combina c oes de valores das vari aveis em l ogica fuzzy, assumindo que o dom nio das vari aveis e discreto e limitado. Tome como exemplo o modus ponens: [p (p q )] q A senten ca tem duas vari aveis e assumiremos que cada vari avel pode tomar, digamos, tr es valores. Isto implica que temos 32 = 9 combina c oes que est ao ilustradas na Tab.

3. L ogica Fuzzy (Nebulosa)

59

Tabela 3.11: p 0 0 0 0,5 0,5 0,5 1 1 1

Tabela verdade do modus ponens: [p (p q )] q q p q [p (p q )] [p (p q )] q 0 1 0 1 0,5 1 0 1 1 1 0 1 0 0 0 1 0,5 1 0,5 1 1 1 0,5 1 0 0 0 1 0,5 0,5 0,5 1 1 1 1 1

3.11. Uma vez que a coluna ` a direita tem somente uns, o modus ponens e v alido para l ogica fuzzy. A validade e limitada ao dom nio escolhido, (0, 0, 5, 1), contudo esta validade pode ser estendida e o teste realizado no caso de maior dimens ao. Exemplo (basquete fuzzy): Vamos agora modicar o exemplo de basquete para examinar a diferen ca introduzida pela l ogica fuzzy. A senten ca dada pela express ao (3.3) cont em cinco vari aveis, mas em l ogica fuzzy cada vari avel pode assumir, digamos, tr es valores. Isto signica que h a 35 = 243 combina c oes a considerar; 148 dessas combina c oes s ao legais no sentido que a senten ca e verdadeira para estas combina c oes. H a outros casos onde h a uma possibilidade de 0, 5 de vencer a aposta dependendo das possibilidades de vit oria e derrota dos corredores, etc. Se estivermos novamente interessados nas combina c oes para as quais existe alguma possibilidade de se vencer a aposta, ou seja, b {0, 0, 5}, ent ao restam 88 combina c oes poss veis. Em vez de listarmos todas elas, vamos mostrar apenas uma para ilustra c ao: (p, c, g, d, b) = [0 0, 5 0, 5 1 0, 5] O exemplo mostra que l ogica fuzzy traz outras solu c oes e requer mais esfor co computacional do que no caso de l ogica de dois valores. Este e o pre co que pagamos para termos valores verdade intermedi arios que capturam a incerteza.

Implica c ao
A regra se o n vel e baixo, ent ao abra V1 e chamada de implica c ao, pois o valor de n vel implica o valor de V1 no controlador. E incomum, entretanto, usar a implica c ao de G odel (3.4) em controladores fuzzy. Outra implica c ao que e usada com freq u encia e a implica c ao de Mamdani [9]. Deni c ao 5 (Implica c ao de Mamdani) Sejam a e b dois conjuntos fuzzy, n ao necessariamente com o mesmo universo. A implica c ao de Mamdani e denida por: a b a min b (3.5)

onde min e o produto externo, correspondendo ` a aplica c ao de min a cada elemento do produto Cartesiano entre a e b.

60

3. L ogica Fuzzy (Nebulosa)

Tabela 3.12: Produto externo min b1 b2 ... bm a1 a2 . . . an a1 b1 a2 b1 a1 b2 a2 b2 ... ... a1 bm a2 bm

... an b1

... an b2

... ... . . . an bm

Tabela 3.13: Exemplo de produto externo: baixo min abrir min 0 0, 5 1 1 0, 75 0, 5 0, 25 0 0 0, 5 1 0 0, 5 0, 75 0 0, 5 0, 5 0 0, 25 0, 25 0 0 0

Seja a representado por um vetor coluna e b representado por um vetor linha, ent ao o produto externo com m nimo pode ser obtido atrav es de uma multiplica c ao de tabela. Esta opera c ao est a ilustrada na Tab. 3.12. Exemplo (produto externo): Considere a implica c ao se o n vel e baixo, ent ao abra V1 , com baixo e abrir denidos como: baixo = [1, 0, 75, 0, 5, 0, 25, 0] abrir = [0, 0, 5, 1] O produto externo est a ilustrado na Tab. 3.13. O produto externo baseado no operador min [9], bem como o produto externo com min substitu do por * para multiplica c ao, e a base da maioria dos controladores fuzzy.

Infer encia
Para se chegar a conclus oes a partir de uma base de regras, e necess ario um mecanismo que produza uma sa da a partir de uma cole c ao de regras do tipo se-ent ao. Isto e conhecido como infer encia composicional de regras. O verbo inferir signica concluir a partir de evid encias, deduzir ou ter uma conseq u encia l ogica. Para entender este conceito, eu til pensarmos em uma fun c ao y = f (x), onde f e uma dada fun c ao, x e a vari avel independente e y e o resultado. O valor y0 e inferido a partir de x0 com a fun c ao f . Uma regra famosa e o modus ponens: (a (a b)) b (3.6)

3. L ogica Fuzzy (Nebulosa)

61

Se a senten ca a b e verdadeira e a tamb em e verdadeiro, ent ao podemos inferir que b e verdadeiro. L ogica fuzzy generaliza este princ pio com o modus ponens generalizado: (a (a b)) b (3.7) Note que na l ogica fuzzy a e b podem ser ligeiramente diferentes de a e b, por exemplo, por meio da aplica c ao de modicadores. O modus ponens generalizado est a relacionado com encadeamento, isto e, racioc nio na dire c ao direta das regras contidas na base de regras. Isto e particularmente u til em controladores fuzzy. O modus ponens generalizado e baseado na regra composicional de infer encia. Exemplo (modus ponens generalizado): dada a rela c ao R = baixo min abrir do exemplo anterior e um vetor de entrada: n vel = [0, 75, 1, 0, 75, 0, 5, 0, 25] ent ao V1 = n vel R, com R dada pela Tab. 3.13, produz o vetor: [0 0, 5 0, 75] (3.9) (3.8)

A entrada n vel dada em (3.8) e um conjunto fuzzy que representa o n vel um pouco acima de baixo. O resultado ap os realizar infer encia e um vetor V1 ligeiramente abaixo de aberto conforme mostra (3.9). Se tent assemos colocar n vel=baixo, esperar amos obter um vetor V1 com valor aberto ap os realizar a composi c ao com R.

M ultiplas regras
Uma base de regras cont em v arias regras. Como podemos combin a-las? Considere a base de regras simples dada por: Se o n vel e baixo ent ao abra V1 Se o n vel e alto ent ao feche V1 (3.10)

Implicitamente assumimos o operador l ogico ou entre as regras, tal que a base de conhecimento consiste de R1 R2 , com R1 representando a primeira regra e R2 , a segunda. As regras s ao equivalentes ` as matrizes de implica c ao R1 e R2 , portanto, a regra total e obtida atrav es da opera c ao l ogica ou de duas tabelas, item por item, conforme: R = Ri Infer encia pode ent ao ser aplicada sobre R.

3.5

Introdu c ao a sistemas de controle fuzzy

Embora a l ogica fuzzy tenha se tornado bem conhecida na area de controle autom atico, h a rea c oes adversas que consideraram a l ogica fuzzy como uma l ogica pouco formalizada. Talvez outra deni c ao desta l ogica teria sido mais apropriada.

62

3. L ogica Fuzzy (Nebulosa)

frio

meio frio nominal morno

quente

0 T0 T1 T2 T3 T4 T5 T6

Figura 3.6: Fun c oes de pertin encia para conjuntos fuzzy de temperatura. A l ogica fuzzy pode ser vista como uma forma de se realizar uma interface com processos anal ogicos, que permite o tratamento gradual de sinais cont nuos at e sinais discretos manipulados por m aquinas digitais. Como exemplo, considere um sistema de freios ABS dirigido por um microcontrolador. O micro-controlador deve tomar decis oes baseado na temperatura dos freios, velocidade e outras vari aveis do sistema. A vari avel temperatura pode ser categorizada em faixas de estados, tais como: frio, meio frio, nominal, morno e quente. A deni c ao da fronteira entre estes estados n ao e clara. Um limiar poderia ser denido para diferenciar morno de quente mas isto levaria a uma mudan ca descont nua quando o valor de entrada atravessa o limiar. A alternativa e assumir estados fuzzy, isto e, fazer com que os estados mudem gradualmente de um estado para o pr oximo. Poder amos denir estados de temperatura usando fun c oes de pertin encia tais como as indicadas na Fig. 3.6. Com este esquema, os estados das vari aveis de entrada n ao tem saltos abruptos de um estado para o pr oximo. Ao contr ario, ` a medida que a temperatura muda, ela perde valor de pertin encia em um conjunto fuzzy enquanto aumenta o grau de pertin encia ao pr oximo conjunto fuzzy. Em qualquer instante, o valor da temperatura dos freios ser a um grau de pertin encia com respeito a dois conjuntos fuzzy: 60% nominal e 40% morno ou 70% nominal e 30% meio frio, por exemplo. As vari aveis de entrada em um sistema de controle fuzzy s ao em geral mapeadas para o sistema por meio de fun c oes de pertin encia semelhantes ` as vistas acima. O processo de convers ao de valores de entrada precisos para valores fuzzy e conhecido por fuzica c ao. Um sistema de controle pode tamb em ter v arios tipos de chaves (switches), ou entradas on-o, al em de entradas anal ogicas, e tais chaves sempre ter ao como valor 1 ou 0. O esquema proposto acima pode trat a-las como fun c oes fuzzy simplicadas que assumem valor 0 ou 1. Dados mapeamentos das vari aveis de entrada para fun c oes de pertin encia e valores verdade, um micro-controlador ent ao pode tomar decis oes sobre a a c ao a ser tomada baseado em um conjunto de regras, cada uma delas da forma: Se temperatura (do freio) e morna e velocidade e n ao muito r apida ent ao press ao (do freio) e ligeiramente reduzida Neste exemplo, as duas vari aveis de entrada s ao temperatura (do freio) e velocidade cujos valores s ao denidos como conjuntos fuzzy. A vari avel de sa da,

3. L ogica Fuzzy (Nebulosa)

63

press ao (do freio), e tamb em denida como um conjunto fuzzy que pode assumir valores como est atica, ligeiramente aumentada, ligeiramente reduzida e assim por diante. A regra acima parece estranha j a que aparentemente a mesma poderia ser utilizada sem fazer uso da l ogica fuzzy, mas devemos lembrar que a decis ao e baseada em um conjunto de regras: Todas as regras aplic aveis s ao invocadas utilizando fun c oes de pertin encia e valores verdade obtidos a partir das entradas, com o objetivo de se chegar ao resultado da regra. Este resultado ser a mapeado em uma fun c ao de pertin encia e valor verdade para controle da vari avel de sa da. Estes resultados s ao combinados para dar uma resposta exata (do ingl es, crisp), ou seja, o valor exato da press ao, em um processo conhecido como defuzica c ao. A combina c ao de opera c oes fuzzy e infer encia baseada em regras dene um sistema especialista fuzzy. Sistemas de controle cl assico s ao baseados em um modelo matem atico segundo o qual o sistema de controle e descrito atrav es de uma ou mais equa c oes diferenciais, as quais denem a resposta do sistema ` as entradas. Tais sistemas s ao freq uentemente implementados como controladores PID (proportional-integral-derivative). Eles s ao produto de d ecadas de an alise te orica e desenvolvimento tecnol ogico, sendo altamente ecazes. Se controladores PID e outras t ecnicas de controle cl assico s ao t ao bem desenvolvidos, por qu e devemos nos preocupar com controle fuzzy? Controle fuzzy tem algumas vantagens. Em v arios casos, o modelo matem atico do processo n ao existe, n ao e conhecido ou e muito complexo de ser obtido ou implementado em m aquinas computacionais. Em tais situa c oes, um sistema baseado em regras emp ricas pode ser mais ecaz. Al em disso, l ogica fuzzy e bem estudada e apropriada para implementa c oes de baixo custo computacional, com sensores de baixo custo e utilizando conversores anal ogico-digitais de baixa resolu c ao. Tais sistemas tamb em podem ser expandidos/aperfei coados ao se adicionar regras que venham a melhorar o desempenho. Em muitos casos, controle fuzzy pode ser usado para melhorar sistemas de controle j a existentes, adicionando uma camada de controle inteligente acima do m etodo de controle atual.

3.6

Controle fuzzy em detalhes

O projeto conceitual de controladores fuzzy e bastante simples. Tais controladores consistem de um est agio de entrada (fuzica c ao), um est agio de processamento (infer encia) e um est agio de sa da (defuzica c ao), conforme ilustra a Fig. 3.7. O est agio de entrada mapeia sensores e outras entradas (como chaves) para fun c oes de pertin encia apropriadas e valores verdade. O est agio de processamento invoca as

64

3. L ogica Fuzzy (Nebulosa)

fornecidas por especialistas ou extra das de dados num ericos

para ativar as regras

regras

fornece sa da precisa

entradas precisas

fuzica ca o infer encia conjuntos fuzzy de entrada

defuzica ca o

sa da precisa

conjuntos fuzzy de sa da

mapeia conjuntos fuzzy em conjuntos fuzzy determina a ativa ca o e combina ca o de regras

Figura 3.7: Arquitetura de um controlador fuzzy [16]. regras apropriadas e gera os resultados para cada uma, depois combina os resultados das regras. Finalmente, o est agio de sa da converte o resultado da combina c ao em um valor de sa da preciso para controle. O formato de fun c ao de pertin encia mais comum e o triangular, embora curvas trapezoidais e tipo sino sejam tamb em empregadas, o n umero e localiza c ao das curvas desempenha papel mais cr tico. Muitas vezes, um n umero entre tr es e sete curvas e suciente para cobrir a faixa dos valores de entrada, ou o universo de discurso dentro do jarg ao da l ogica fuzzy. O est agio de processamento e baseado em uma cole c ao de regras l ogicas da forma se-ent ao, onde a parte do se e chamada de antecedente e a parte do ent ao e conhecida por conseq uente. Sistemas de controle fuzzy tipicamente t em dezenas de regras. Considere a regra para um termostato: se (temperatura e fria) ent ao (aquecedor e alto) Esta regra usa o valor verdade da temperatura de entrada, que e um certo valor de fria, para gerar um resultado em um conjunto fuzzy para a sa da do aquecedor, que e um valor alto. Este resultado e utilizado com o resultado de outras regras para gerar um valor composto exato para a sa da (do ingl es, crisp composite output). Obviamente, quanto maior o grau de verdade de fria, maior o grau de verdade de alto, embora isto n ao signica necessariamente que a sa da xar a o aquecedor no estado alto, j a que esta e apenas uma entre v arias regras. Em alguns casos, as fun c oes de pertin encia podem ser alteradas por meio de modicadores que s ao equivalentes a adjetivos. Modicadores t picos incluem

3. L ogica Fuzzy (Nebulosa)

65

em torno, pr oximo de, muito, ligeiramente, extremamente e um pouco, entre outros. Essas opera c oes podem ter deni c oes precisas, como visto na se c ao 3.3, mas podem variar de uma implementa c ao para outra. Como visto acima, o modicador muito eleva ao quadrado o valor da fun c ao de pertin encia uma vez que as fun c oes de pertin encia tem valor sempre menor que 1, o efeito e de estreitar a fun c ao de pertin encia. O modicador extremamente eleva ao cubo a fun c ao de pertin encia, estreitando ainda mais a fun c ao de pertin encia. Por outro lado, o modicador um pouco alarga a fun c ao de pertin encia tomando a raiz quadrada. Na pr atica, as regras fuzzy t em v arios antecedentes que s ao combinados usando operadores fuzzy, tais como e, ou e n ao, mesmo que as deni c oes possam variar: e: em uma deni c ao bem popular, simplesmente assume o menor valor verdade de seus antecessores; e n ao: este operador tipicamente subtrai o valor da fun c ao de pertin encia de 1, dando dessa forma a fun c ao complemento. H a diferentes maneiras de se denir o resultado de uma regra, mas uma das mais comuns e mais simples e por meio do m etodo de infer encia max-min, a qual passa os valores verdade gerados pelas premissas ` a fun c ao de pertin encia de sa da. Regras podem ser resolvidas em paralelo via hardware ou seq uencialmente via software. Os resultados de todas essas regras que foram disparadas s ao defuzicados para valores exatos por meio de um dentre v arios m etodos. H a dezenas de m etodos propostos na teoria, cada um com vantagens e desvantagens. O m etodo centr oide e bastante popular, no qual o centro de massa do resultado prov e o valor exato. Outro m etodo e o m etodo da altura, que toma o valor da maior contribui c ao. O m etodo centr oide favorece a regra com maior area, enquanto o m etodo da altura obviamente d a prefer encia ` a sa da de maior valor. O exemplo a seguir ilustra a infer encia max-min e defuzica c ao por meio do m etodo centr oide para um sistema com vari aveis de entrada x, y e z , al em de uma vari avel de sa da . Os procedimentos de infer encia e de defuzica c ao s ao ilustrados na Fig. 3.8. Note que e padr ao em l ogica fuzzy para designar valor verdade. Observe ainda que cada regra d a um valor verdade para uma fun c ao de pertin encia de uma vari avel de sa da. Na defuzica c ao centr oide, os valores s ao combinadores via operador ou, ou seja, o valor m aximo e usado e estes n ao s ao adicionados, os resultados s ao ent ao processados por meio do c alculo centr oide. Sistemas de controle fuzzy s ao baseados em m etodos emp ricos, basicamente um m etodo met odico de tentativa e erro. O processo geral pode ser caracterizado pelos passos a seguir: documente as especica c oes operacionais do sistema, as entradas e sa das. determine conjuntos fuzzy para as entradas. dena um conjunto de regras. escolha um m etodo de defuzica c ao.

66

3. L ogica Fuzzy (Nebulosa)

A A (x)

D regra-1: se x e A ent ao eD

x B B (y ) E

regra-2: se y e B ent ao eE

y C C (z ) z F regra-3: se z e C ent ao eF

= centr oide (valor exato)

Figura 3.8: Infer encia max-min. execute o sistema sobre um conjunto de teste, fazendo ajustes quando necess ario. nalize a documenta c ao e implemente o sistema de controle. Como um exemplo, considere o projeto de um controlador fuzzy para uma turbina. O diagrama de blocos do sistema de controle pode ter a forma dada na Fig. 3.9. H a duas vari aveis de entrada (temperatura e press ao) e uma vari avel de sa da (a abertura da v alvula). A opera c ao da turbina pode ser revertida, logo a abertura da v alvula pode ser positiva ou negativa. Os mapeamentos em conjuntos fuzzy est ao indicados na Fig. 3.10. A abertura da v alvula e regulada pelos valores: N3 : negativo alto. N2 : negativo m edio. N1 : negativo pequeno. Z : zero.

3. L ogica Fuzzy (Nebulosa)

67

temperatura

frio meio frio nominal morno quente

se T e frio eP e fraco ent ao v alvula e P3 se T e frio eP e baixo ent ao v alvula e P2

defuzicar

se T e frio eP e ok ent ao v alvula eZ se T e frio eP e forte ent ao v alvula e N2 outras regras

v alvula

press ao

fraco baixo ok forte alto

Figura 3.9: Diagrama de blocos do controlador fuzzy para turbina. P1 : positivo pequeno. P2 : positivo m edio. P3 : positivo grande. O conjunto de regras inclui regras tais como: Regra 1: se temperatura e fria e press ao e fraca ent ao v alvula e P3 . Regra 2: se temperatura e fria e press ao e baixa ent ao v alvula e P2 . Regra 3: se temperatura e fria e press ao e ok ent ao v alvula e Z. Regra 2: se temperatura e fria e press ao e forte ent ao v alvula e N2 . Na pr atica, o controlador aceita entradas e os mapeia em valores verdade por meio das fun c oes de pertin encia. Ent ao esses mapeamentos alimentam as regras. Se a regra estabelece uma opera c ao e entre os mapeamentos de duas vari aveis de entrada, como os exemplos acima ilustram, o menor valor das duas e utilizado como valor verdade da combina c ao. Se a regra estabelece uma opera c ao ou, ent ao o m aximo e utilizado. A sa da apropriada e escolhida e designada um valor de pertin encia no n vel de verdade da premissa. Os valores verdade s ao ent ao defuzicados. Como exemplo, suponha que a temperatura est a no estado fria, e que a press ao est a nos estados baixo e ok. Os valores de press ao garantem que apenas as regras 2 e 3 ir ao disparar. A regra 2 e avaliada conforme ilustra a Fig. 3.11. A

68

3. L ogica Fuzzy (Nebulosa)

frio

meio frio nominal morno Temperatura

quente

0 T0 fraco T1 T2 T3 T4 baixo ok T5 T6 T7 forte T8 alto T9

Press ao 1

0 P0 P1 P2 P3 P4 P5 P6 P7 P8 P9

N3

N2

N1

P1

P2

P3

Sa da: abertura da v alvula 1

0 min 0 max

Figura 3.10: Procedimento de fuzica c ao para o controle fuzzy da turbina.

3. L ogica Fuzzy (Nebulosa)


frio 1 entrada: temperatura 0, 48 P2 0 T baixo 1 entrada: press ao 0, 57 0 P 1 0, 48e0, 57 = 0, 48 0 min 0 sa da: abertura da v alvula

69

max

Figura 3.11: Disparo da regra 2. regra 3 e avaliada conforme ilustra a Fig. 3.12. As sa das das regras 2 e 3 s ao ent ao combinadas como mostra a Fig. 3.13. A sa da combinada ser a ent ao implementada, ajustando a abertura da v alvula, e o ciclo de controle ser a ent ao repetido para produzir o pr oximo valor.

3.7

Implementa c ao de um controlador fuzzy

Considere a implementa c ao de um controlador realimentado (feedback controller) simples. Um conjunto fuzzy e denido para a entrada (vari avel de erro) erro, para a varia c ao derivada do erro a partir do erro anterior (vari avel delta) bem como a vari avel de sa da (sa da), como segue: LP: valor positivo alto SP: valor positivo pequeno ZE: zero SN: valor negativo pequeno LN: valor negativo grande Se o erro varia de 1 a +1, com o conversor anal ogico digital tendo precis ao de 0, 25, ent ao o conjunto fuzzy para as vari aveis de entrada (e, neste caso, tamb em para a vari avel de sa da) pode ser descrito atrav es de uma tabela, onde os valores de erro, delta e sa da aparecem na linha superior, enquanto os valores das fun c oes de pertin encia s ao dados nas linhas abaixo, como mostra a Tab. 3.14. A Tab. 3.14 simplesmente d a o valor de pertin encia para cada conjunto fuzzy (LP a LN), em termos dos valores com rela c ao aos valores dados na linha superior.

70

3. L ogica Fuzzy (Nebulosa)

frio 1 entrada: temperatura 0, 48 Z 0 T ok 1 entrada: press ao 0, 25 0 P 1 0, 48 e 0, 25 = 0, 25 0 min sa da: abertura da v alvula

max

Figura 3.12: Disparo da regra 3.

\vari avel LP SP ZE SN LN

Tabela 3.14: Fun c oes de pertin encia -1 -0,75 -0,50 -0,25 0 0,25 0,50 0,75 1 0,0 0,0 0,0 0,0 0,0 0,0 0,3 0,7 1,0 0,0 0,0 0,0 0,0 0,3 0,7 1,0 0,7 0,0 0,0 0,0 0,3 0,7 1,0 0,7 0,3 0,0 0,0 0,3 0,7 1 0,7 0,3 0,0 0,0 0,0 0,0 1,0 0,7 0,3 0,0 0,0 0,0 0,0 0,0 0,0

3. L ogica Fuzzy (Nebulosa)

71

P2 abertura da v alvula: regra 2 1

0 min 0 Z abertura da v alvula: regra 3 1 max

0 min 0 Z 1 P2 max

abertura da v alvula nal (defuzica c ao)

0 min 0 abertura max

Figura 3.13: Defuzica c ao.

72

3. L ogica Fuzzy (Nebulosa)

importante salientar que para as vari E aveis erro e delta os valores da linha superior s ao usados para gerar os valores , enquanto que para a vari avel de sa da, os valores s ao usados para gerar os valores da linha superior. Suponha que o sistema fuzzy tenha a seguinte base de regras fuzzy: regra 1: se erro = ZE e delta = ZE ent ao sa da = ZE regra 2: se erro = ZE e delta = SP ent ao sa da = SN regra 3: se erro = SN e delta = SN ent ao sa da = LP regra 4: se erro = LP ou delta = LP ent ao sa da = LN Estas regras s ao t picas de aplica c oes de controle, onde os antecedentes consistem da combina c ao l ogica dos sinais de erro de delta, enquanto o conseq uente e um comando de controle. As regras podem ser um pouco dif ceis de serem interpretadas. Por exemplo, o que a regra 1 diz e que se o valor de erro pertence ao conjunto fuzzy ZE e o sinal delta, ou varia c ao do u ltimo sinal de erro, pertencer ao conjunto fuzzy ZE, ent ao a sa da de controle tamb em pertence ao conjunto fuzzy ZE. O que torna confuso e que a atribui c ao de valores num ericos a cada regra n ao d a, pelo menos diretamente, um valor preciso para o sinal de sa da. O valor de sa da e denido pela regra 1 como ZE. Analisando os valores fuzzy, a tabela mostra que ZE tem seu m aximo para o valor 0 da linha superior da tabela e, portanto, a regra sempre d a uma sa da 0. Similarmente, a regra 2 d a uma sa da para SN ou 0, 5, a regra 3 sempre d a sa da LP ou 1 e a regra 4 d a a sa da LN ou -1. Devemos nos lembrar que o valor de sa da nal e uma combina c ao das sa das dessas quatro regras, ponderadas por meio de valores apropriados e computados de acordo com as regras de c alculo usando o m etodo centr oide:
4

(i)sa da(i)
i=1 4

(i)
i=1

onde (i) e o valor verdade da regra i, cujo c omputo e ilustrado nas Figs. 3.11 e 3.12. A express ao acima consiste do processo de defuzica c ao exemplicado na Fig. 3.13. Suponha que em um certo momento tenhamos: erro = 0, 25 delta = 0, 5 Ent ao os valores podem ser obtidos diretamente da Tab. 3.14, coletando os valores das colunas apropriadas, o que produz os valores da Tab. 3.15. Estes valores s ao repassados ` as regras para se obter os valores de sa da. Para a regra 1, temos:

3. L ogica Fuzzy (Nebulosa)

73

Tabela 3.15: Fun c oes de pertin encia para o caso erro = 0, 25 delta = 0, 5 \vari avel erro=0,25 delta=0,50 LP 0,0 0,3 SP 0,7 1,0 ZE 0,7 0,3 SN 0,0 0,0 LN 0,0 0,0

regra 1: se erro=ZE e delta=ZE ent ao sa da=ZE A pondera c ao para a sa da, (1) , e produzida com o simples c alculo: (1) = min(0, 7, 0, 3) = 0, 3 E como mencionado acima, a sa da desta regra e sempre 0: sa da(1) = 0 As outras regras nos d ao: regra 2: se erro=ZE e delta=SP ent ao sa da=SN (2) = min(0, 7, 1) = 0, 7 sa da(2) = -0,5 regra 3: se erro=SN e delta=SN ent ao sa da=LP (3) = min(0, 0, 0, 0) = 0, 0 sa da(3) = 1 regra 4: se erro=LP ou delta=LP ent ao sa da=LN (4) = max(0, 0, 0, 3) = 0, 3 sa da(4) = -1 A computa c ao do centr oide ent ao leva aos valores: sa da = (1)sa da(1) + (2)sa da(2) + (3)sa da(3) + (4)sa da(4) (1) + (2) + (3) + (4) 0, 3 0 + 0, 7 0, 5 + 0 1 + 0, 3 1 = 0 , 3 + 0 , 7 + 0 + 0, 3 0 0, 35 + 0, 0 0, 3 = 1, 3 0, 65 = 1, 3 = 0, 5

Contudo, a parte mais dif cil est a em descobrir quais regras produzem bons resultados na pr atica. Para entender o c omputo do centr oide, lembramos que o centr oide e denido como a soma de todos os momentos (localiza c ao vezes massa) em torno do centro de

74

3. L ogica Fuzzy (Nebulosa)

gravidade e for cando a soma para zero (a soma dos momentos deve ser nula). Ent ao se x0 e o centro de gravidade, xi a localiza c ao de cada massa e mi a massa, isto nos d a a equa c ao: 0 = (x1 x0 ) m1 + (x2 x0 ) m2 + . . . , (xn x0 ) mn = (x1 m1 + x2 m2 + . . . + xn mn ) x0 (m1 + m2 + . . . + mn ) e da segue que: x0 (m1 + m2 + . . . + mn ) = x1 m1 + x2 m2 + . . . + xn mn assim chegamos ` a equa c ao: x0 = x1 m1 + x2 m2 + . . . + xn mn m1 + m2 + . . . + mn

No nosso caso, os valores correspondem ` as massas e os valores de x correspondem ` as sa das das regras.

3.8

Refer encias

O material apresentado neste cap tulo e uma compila c ao traduzida de relat orios t ecnicos escritos por Jan Jantzen [8] e Greg Goebel [5]. Outras refer encias introdut orias para l ogica fuzzy incluem os artigos de Kevin Self [15] e de Earl Cox [2].

Cap tulo 4 Computa c ao Evolutiva


How can computers be programmed so that problem-solving capabilities are built up by specifying what is to be done rather than how to do it?. [John Holland, 1975]

4.1

Introdu c ao ` a computa c ao evolutiva

John Holland [7] indagou sobre algumas quest oes que levaram ` a concep c ao dos algoritmos gen eticos durante os anos 60: Como que a evolu c ao produz organismos cada vez mais h abeis em ambientes que s ao altamente incertos para um organismo particular? Como que um organismo faz uso da experi encia para modicar seu comportamento de maneira que lhe traga benef cios? Como que computadores podem ser programados com a capacidade de resolver problemas, dizendo o que deve ser feito em vez de como faz e-lo? Em ess encia, foi demonstrado que os problemas intr nsecos a estas quest oes podem ser reduzidos a um problema de otimiza c ao de fun c oes multivariadas. O o problema da Natureza est a em criar organismos capazes de se reproduzir (mais aptos) em um ambiente particular: o ambiente determina as regras de sele c ao e as solu c oes deste processo de solu c ao s ao os organismos. Na linguagem de otimiza c ao, as solu c oes para um problema particular (um problema de engenharia, por exemplo) ser ao selecionadas com base em qu ao bem elas resolvem o problema. Algoritmos gen eticos s ao inspirados no processo de sele c ao das solu c oes para o problema, n ao sendo computadas algebricamente. A solu c ao e encontrada atrav es de uma popula c ao de solu c oes candidatas que s ao alteradas pelo algoritmo a cada passo com o intuito de aumentar a probabilidade de se gerar melhores solu c oes na popula c ao. Em outras palavras, algoritmos gen eticos e outros m etodos evolucion arios (ME), tal como programa c ao evolutiva (PE), exploram um espa co multidimensional de solu c oes alternativas para um problema particular. Esta explora c ao se d a atrav es de uma popula c ao de cadeias que codicam as solu c oes, as quais s ao submetidas a processos de varia c ao (crossover e muta c ao) e s ao reproduzidas de forma a levar a popula c ao para regi oes mais promissoras do espa co de busca (sele c ao).

76

4. Computa c ao Evolutiva

4.1.1

Estrat egias evolucion arias e auto-organiza c ao

O princ pio fundamental dos m etodos evolucion arios est a na separa c ao de solu c oes para um problema particular (m aquina) da descri c ao destas solu c oes (mem oria). Algoritmos gen eticos operam nestas descri c oes e n ao nas solu c oes propriamente ditas, isto e, varia c oes s ao aplicadas nas descri c oes, enquanto as respectivas solu c oes s ao avaliadas e as descri c oes de solu c oes s ao selecionadas com base nestas avalia c oes. Este aspecto de separa c ao entre m aquina e descri c ao segue o esquema de autoreprodu c ao de von Neumann que permitiu elevar a complexidade das m aquinas. Contudo, a forma de organiza c ao praticada por algoritmos gen eticos n ao se autoorganiza como a rede Booleana de um aut omato celular. Apesar das solu c oes serem obtidas por meio da intera c ao dos elementos de uma popula c ao, e seguindo as regras gerais usualmente observadas por sistemas computacionais emergentes, os algoritmos gen eticos n ao se auto-organizam, pois s ao baseados em processos seletivos pressionados por fun c oes de aptid ao (tness functions). A ordem atingida n ao e um resultado da din amica interna de uma cole c ao de elementos que interagem (tal como em uma rede aleat oria), mas o resultado de um crit erio de sele c ao externo. Neste sentido dizemos que os m etodos evolutivos seguem um esquema de organiza c ao seletiva baseado em mem oria. Por outro lado, auto-organiza c ao e atribu da aos comportamentos de organiza c oes que s ao totalmente dependentes da din amica interna. Isto e usualmente visto em termos de atratores para comportamentos de sistemas din amicos determinados por estados. M etodos evolutivos tem fundamenta c ao nos seguintes conceitos: a dicotomia entre solu c ao e descri c ao que permite introduzir o conceito de mem oria; as transi c oes em sistemas evolutivos n ao s ao determinadas por estados, sendo decorrentes de varia c oes estoc asticas; e o processo de sele c ao e externo ` a popula c ao de elementos (descri c oes de solu c oes). Dessa forma, n ao se pode dizer que uma popula c ao de mem orias est a interagindo com base em alguma auto-din amica: as solu c ao alcan cadas por um algoritmo gen etico n ao se auto-organizam mas s ao produzidas via varia c ao estoc astica da popula c ao e mecanismos de solu c ao externos. Sistemas capazes de desenvolver mecanismos para tirar vantagem desta varia c ao baseada na dicotomia solu c ao-descri c ao podem seguir um tipo de sele c ao baseada no princ pio de auto-organiza c ao sem antica. Contudo, algoritmos gen eticos computacionais n ao s ao baseados neste princ pio, a rela c ao de codica c ao e externamente denida e n ao evolui com o sistema. Por causa das raz oes acima e natural visualizar m etodos evolucion arios como totalmente distintos de sistemas auto-organiz aveis. Talvez seja u til pensar que ME modelam um aspecto diferente de sistemas biol ogicos que est a relacionado ` a sele c ao natural. Sistemas auto-organiz aveis modelam caracter sticas abstratas e internas, enquanto modelos de sistemas evolucion arios modelam a exist encia de processos de sele c ao natural (externa) de mem orias variantes baseados em uma descri c ao do sistema.

4. Computa c ao Evolutiva

77

4.2
4.2.1

Algoritmo gen etico (AG)


Gen etica e evolu c ao

A percep c ao de que certas caracter sticas s ao heredit arias (i.e., transmitidas geneticamente) data de v arias d ecadas passadas. A Teoria da Evolu c ao [3] e considerada um dos maiores avan cos cient cos at e esta data. Ela tem implica c oes em v arias areas naturais, cient cas e sociais como, por exemplo, Biologia, Matem atica, F sica e Sociologia.

4.2.2

Adapta c ao biol ogica

Estudaremos maneiras pelas quais o processo de evolu c ao natural pode ser empregado para se evoluir solu c oes computacionais (algoritmo gen etico) e at e mesmo programas ou algoritmos (Programa c ao Gen etica) para problemas interessantes. A propriedade de adapta c ao e descrita pela seguinte express ao: Adapta c ao = Variedade + Hereditariedade + Sele c ao 1) Variedade: Se refere a como os indiv duos diferem uns dos outros, portanto s o pode ocorrer se existirem m ultiplos indiv duos, implicando em paralelismo e multiplicidade espacial (popula c ao). uma forma de persist 2) Hereditariedade: E encia temporal que se propaga de pai para lho, um processo iterativo que se repete (processo iterativo). 3) Sele c ao Natural: A capacidade de reprodu c ao e exponencial, extremamente maior do que a quantidade de recursos dispon veis (limitada). Surge, portanto, a frase a sobreviv encia dos reprodutores. Levando em conta esta capacidade exponencial, os seres humanos formam um grupo seleto de indiv duos (Sele c ao). A frase mais conhecida e a sobreviv encia do mais dotado. Entretanto, a teoria diz que o que importa e a reprodu c ao, o que implica a frase a sobreviv encia do reprodutor. Segundo a teoria da evolu c ao, as caracter sticas de uma pessoa (cor dos olhos, alta, inteligente, etc.) s o importam se aumentam a capacidade de reprodu c ao. A evolu c ao das esp ecies pode levar a processos c clicos como, por exemplo, a din amica entre le oes e gazelas. Se os le oes se tornam mais perspicazes ao ca carem gazelas, ent ao as gazelas sobreviventes tendem a ser mais r apidas, que por sua vez v ao gerar descendentes mais ageis, dicultando a ca ca dos le oes.

4.2.3

Hereditariedade com evolu c ao simulada

Da mesma forma que em sistemas biol ogicos, as equa c oes de adapta c ao biol ogica podem ser utilizadas para evoluir solu c oes de um problema (Algoritmo Gen etico) e at e mesmo algoritmos (Programa c ao Gen etica). John Holland [7] foi um dos primeiros a propor a simula c ao do processo de evolu c ao natural para resolver problemas diversos, tais como problemas de otimiza c ao e de aprendizagem de m aquina. Ele

78

4. Computa c ao Evolutiva

concebeu o termo algoritmo gen etico (AG) e foi um dos grandes impulsionadores da area que hoje e conhecida como computa c ao evolucion aria. O algoritmo gen etico representa solu c oes como estruturas semelhantes ao DNA, as quais expressam alguma forma de aptid ao. Isto est a inspirado na Natureza, onde estruturas de DNA aparecem em organismos com capacidade de se acasalarem, e onde haja muta c ao e cross-over do material gen etico. Estes princ pios fundamentais foram apresentados atrav es da teoria de Darwin, mais tarde complementada pelos trabalhos de Gregor Mendel (pai da Gen etica) e posteriormente enriquecidos pela descoberta da estrutura de dupla h elice do DNA. Estes u ltimos trabalhos mostram que as caracter sticas transmitidas s ao discretas, n ao s ao cont nuas como anteriormente assumido. Mendel mostrou em seus experimentos que, se controlarmos o ambiente, as caracter sticas s ao bem distintas (e.g., ores altas ou baixas). Conclus ao: A linguagem da natureza e um alfabeto discreto. O AG expressa uma solu c ao como uma cadeia de s mbolos (usualmente 0s e 1s) de tamanho xo, da mesma forma que o DNA codica as caracter sticas de um necess indiv duo. E aria a exist encia de uma fun c ao de aptid ao (tness function) que mapeie a cadeia em uma forma u til. Por exemplo, a cadeia pode representar: um vetor com as vari aveis de uma fun c ao f que se deseja minimizar; ou uma estrat egia para competir em um jogo.

4.2.4

Popularidade do algoritmo gen etico

A popularidade do algoritmo gen etico se d a em fun c ao de tr es propriedades: 1) Robustez: Evolu c ao natural e tida como um m etodo bem-sucedido e robusto no meio biol ogico. 2) Generalidade: AGs s ao capazes de tratar problemas complexos, que possuem um n umero grande de componentes e cujas contribui c oes para o todo n ao s ao bem entendidas. 3) Paraleliza c ao: AGs s ao naturalmente paralelos; podem ser implementados em redes de computadores (m aquinas ass ncronos) e computadores paralelos (m aquinas s ncronos). Antes de procedermos ` a descri c ao dos passos do algoritmo gen etico, assumiremos o seguinte: O problema de otimiza c ao a ser resolvido e de maximiza ca o, em vez de minimiza c ao: P : Minimize f (x) x Rn onde nada se assume sobre f : Rn R Para transformar minimiza c ao em maximiza c ao, basta substituir o operador min por max e f (x) por f (x).

4. Computa c ao Evolutiva

79

A fun c ao objetivo (f (x) se maximiza c ao, f (x) se minimiza c ao) ser a utilizada como fun c ao de aptid ao (tness function, fi ). Portanto, quanto mais alto o valor da tness function (fi ) melhor a qualidade da respectiva solu c ao. Assumiremos tamb em que a tness function assume um valor n ao negativo. Isso pode ser contornado atrav es da adi c ao de uma constante, i.e., seja m = min{fi (x) : x pertence ` a popula c ao}, ent ao basta substituir fi (x) por fi (x) m para que a tness function se torne n ao negativa.

4.2.5

Algoritmo gen etico em detalhes

O algoritmo gen etico pode ser descrito como uma fun c ao AG(fi , ft , p, r, m) cujos par ametros de entrada denem um problema a ser resolvido. Abaixo segue o pseudoc odigo. Algoritmo AG(fi , ft , p, r, m) Par ametros de entrada: fi - tness function ft - tness threshold (condi c ao de parada) p - tamanho da popula c ao r - fra c ao da popula c ao a ser substitu da por cross-over m - taxa de muta c ao Inicialize a popula c ao P : gere p solu c oes candidatas aleatoriamente Avalie os elemento de P : para cada x P , calcule fi (x) Enquanto max{fi (x) : x P } < ft , execute: Seja P a nova popula c ao, iniciando com P = Selecione probabilisticamente (1 r )p elementos de P e adicione a P , sendo a probabilidade de x P ser selecionado dada por: P r (x) = fi (x)/ fi (xj )
xj P

Probabilisticamente selecione rp/2 pares de elementos de P , de acordo com a distribui c ao dada por P r (x). Para cada par (xi , xj ) execute cross-over e adicione os lhos a P . Execute muta c ao de mp elementos de P Fa ca P P Calcule fi (x) para todo x P

4.2.6

Operador gen etico cross-over

Os operadores gen eticos determinam como os membros de uma popula c ao s ao combinados, ou sofrem muta c ao, de forma a gerar novos candidatos. Na Fig. 4.1 e ilustrado o operador cross-over de um ponto, enquanto que o operador cross-over de dois pontos e exemplicado na Fig. 4.2. O operador de cross-over uniforme

80

4. Computa c ao Evolutiva

consistem em utilizar uma m ascara cujos bits s ao selecionados aleatoriamente com probabilidade uniforme. J a o operador de muta c ao simplesmente troca um ou mais bits de um cromossomo de 0 para 1 (ou vice-versa). Os bits s ao escolhidos aleatoriamente com probabilidade uniforme.
Cromossomos pais Filhos

11101001000
M ascara

11101010101 11111000000

00001010101

00001001000

Figura 4.1: Operador cross-over de um ponto.


Cromossomos pais Filhos

11101001000
M ascara

00101000101 00111110000

00001010101

11001011000

Figura 4.2: Operador cross-over de dois pontos.

4.2.7

Exemplo de aplica c ao

O problema consiste em encontrar o valor m aximo da fun c ao f (x) = x2 onde x pode assumir valores do conjunto A = {0, . . . , 31}. Para aplica c ao do algoritmo gen etico, os seguintes passos s ao sugeridos: Utilize 5 bits para representar uma solu c ao candidata. Dena a fun c ao de aptid ao fi (x) = f (x). Gere um conjunto de 4 solu c oes candidatas randomicamente para compor a popula c ao inicial. (Tamanho da popula c ao p = 4). Adote o operador cross-over de um ponto como m etodo de reprodu c ao. (Taxa de substitui c ao por cross-over r = 50%). Adote como mecanismo de muta c ao a troca de um bit de uma solu c ao candidata. (Taxa de muta c ao m = 5%). Na Tabela 4.1 est ao indicados os valores iniciais armazenados na mem oria do algoritmo gen etico. Com esta popula c ao inicial e os par ametros acima sugeridos, o algoritmo gen etico encontra a solu c ao otima para o problema: x = 11111 sendo f (x ) = 961.

4. Computa c ao Evolutiva

81

Tabela 4.1: Popula c ao inicial Solu c ao Fitness Probabilidade Candidata de Reprodu c ao 01101 169 14,4% 11000 576 49,2% 01000 64 5,5% 10011 361 30,9%

4.2.8

Quest oes pr aticas

O fen omeno de crowding ocorre quando um indiv duo com alta aptid ao se reproduz rapidamente, gerando c opias ou lhos muito semelhantes que venham a constituir a maior parte da popula c ao. O aspecto negativo de crowding e a perda de diversidade, o que acarreta converg encia prematura para o timo local. O fen omeno de crowding e ilustrado na Fig. 4.3. Algumas estrat egias para evitar crowding s ao: sele c ao de pares para reprodu c ao atrav es de torneios em vez de sele c ao probabil stica; utilizar o valor de posi c ao (ranking) no lugar da aptid ao para calcular as probabilidades de selecionar os indiv duos; e o valor de aptid ao de um indiv duo pode ser reduzido pela presen ca de outros indiv duos semelhantes. Popula c ao Inicial Popula c ao Resultante

Figura 4.3: Fen omeno de crowding.

4.2.9

Schema Theorem

poss E vel descrever matematicamente a evolu c ao da popula c ao de um AG em fun c ao do tempo? O Schema Theorem de Holland (1975) [7] oferece uma caracteriza c ao.

82

4. Computa c ao Evolutiva

Deni c ao 6 Um Schema e uma cadeia de 0s, 1s e *s (curinga) que representa uma fam lia de indiv duos. O schema 0*1 representa os indiv duos 001 e 011. Schemas podem ser utilizados para caracterizar a popula c ao de um algoritmo gen etico. Uma popula c ao de cadeias (vetores de bits 0s e 1s) pode ser vista em termos do conjunto de schemas que ela representa e o n umero de indiv duos associados com cada schema. Seja m(s, t) o n umero de indiv duos no instante t (t- esima popula c ao) que perten cam ao schema s. O Schema Theorem descreve o valor esperado1 de m(s, t + 1) tomando como base: m(s, t); as propriedades de s; as propriedades da popula c ao; e os par ametros do AG (e.g., m etodos de recombina c ao e taxa de muta c ao). Teorema 1 Considerando apenas sele c ao, tem-se E [m(s, t + 1)] = u(s, t) m(s, t) fm (t)

onde: m(s, t) e o n umero de indiv duos em Pt (t- esima popula c ao) que perten cam ao schema s; fm (t) e o valor m edio da fun c ao de aptid ao dos elementos de Pt ; e u(s, t) e o valor m edio da fun c ao de aptid ao dos elementos de Pt que perten cam ao schema s. Se vemos o AG como um processo virtual paralelo que: i) executa uma busca atrav es do espa co de poss veis schemas e, ao mesmo tempo, ii) executa uma busca atrav es do espa co de indiv duos, ent ao a equa c ao do Teorema 1 indica que schemas de maior aptid ao crescer ao em inu encia com o passar das gera c oes. Teorema 2 Considerando o operador cross-over de um ponto e muta c ao, tem-se E [m(s, t + 1)] onde: u(s, t) p c d (s ) [1 pm ]o(s) m(s, t) 1 fm (t) l1

pc e a probabilidade do operador cross-over de um ponto ser aplicado a um indiv duo arbitr ario; pm e a probabilidade de que um bit arbitr ario de um indiv duo arbitr ario sofra muta c ao; l e o n umero de bits das cadeias; o (s ) e o n umero de bits denidos presentes no schema s (bits 0 ou 1); e d (s ) e a dist ancia entre o bit denido mais ` a esquerda e o mais ` a direita no schema s. O Teorema 2 nos diz que os schemas de maior aptid ao dever ao aumentar sua inu encia, especialmente aqueles que possuem um pequeno n umero de bits denidos (contendo v arios *) e aqueles cujos bits denidos est ao pr oximos uns dos outros.
1

Denotado por E [] e mais rigorosamente conhecido por esperan ca matem atica

4. Computa c ao Evolutiva

83

4.3

Refer encias

Os livros de Davis [4] e de Goldberg [6] trazem uma discuss ao ampla da losoa por tr as dos algoritmos gen eticos, apresentam elementos te oricos e aplica c oes. Tais refer encias s ao indicadas para um aprofundamento na teoria e aplica c oes de algoritmos gen eticos.

4.4

Exerc cios

EX (O Problema de Bi-Parti c ao M axima em Grafos): Seja G = (V, E ) um grafo n ao direcionado cujas arestas possuem pesos n ao-negativos. Uma aresta (u, v ) E possui peso w (u, v ). Para dois conjuntos A e B de v ertices, denimos w (A, B ) o peso total das arestas que t em um extremo em A e o outro, em B . Mais precisamente: w (A, B ) =
(u,v)E,uA,vB

w (u, v )

O problema e encontrar S V tal que w (S, V S ) seja m aximo.

Os dados de uma inst ancia do problema da bi-parti c ao m axima s ao fornecidos em arquivos tipo texto, cujo formato consiste do n umero de v ertices, do n umero de arestas e de uma lista de arestas e pesos. Exemplo de inst ancia: 56 1 3 0,3 2 4 0,5 2 5 1,2 1 5 0,8 3 4 0,5 2 3 3,0 Tarefa: implemente um algoritmo Gen etico para resolver o problema de biparti c ao m axima e teste o algoritmo em alguns problemas.

84

4. Computa c ao Evolutiva

Cap tulo 5 Considera c oes Finais


Este texto fez uma breve introdu c ao ao campo da intelig encia computacional, uma disciplina com ra zes nas ci encias cognitivas, losoa, matem atica e ci encia da computa c ao, que se preocupa com o estudo, projeto e implementa c ao de agentes inteligentes. A intelig encia computacional tem como prop osito o entendimento dos princ pios que levam ao comportamento inteligente. A diferen ca marcante da intelig encia computacional e outras ci encias que se preocupam com intelig encia est a na sua metodologia. A intelig encia computacional busca construir artefatos que apresentam comportamento que seja considerado inteligente, independentemente desse comportamento ser obtido atrav es da imita c ao de sistemas inteligentes biol ogicos ou atrav es de outras teorias. Da mesma forma que m aquinas s ao capazes de voar a partir das leis f sicas e da aerodin amica, sem necessariamente assemelhar-se a seres biol ogicos capazes de voar tais como p assaros, a preocupa c ao e na s ntese de artefatos inteligentes e n ao na reprodu c ao de ocorr encias naturais. O texto fez uma breve exposi c ao de formalismos que podem ser utilizados, pelo menos em parte, na concep c ao de sistemas com comportamento inteligente. As redes neurais (articiais) s ao inspiradas nas redes neurais biol ogicas, as quais procuram capturar atrav es das conex oes da rede as rela co es sin apticas do c erebro humano, podendo ser refor cadas ou enfraquecidas. As redes neurais s ao amplamente empregadas na identica c ao de aproxima c oes de uma fun c ao desconhecida, que se conhece pares de entrada e sa da. Algoritmos ecientes do tipo backpropagation e variantes de fun c oes de ativa c ao (como fun c oes de base radial) constituem um ferramental ecaz para resolu c ao de v arios problemas de treinamento de fun c oes, identica c ao, classica c ao e controle de sistemas din amicos. Conjuntos fuzzy generalizam o conceito cl assico de conjuntos atrav es de fun c oes de pertin encia. O conjunto das pessoas jovens, por exemplo, pode ser representado por um conjunto fuzzy. Para o universo das pessoas de 0 a 100 anos, um rec emnascido e certamente jovem, logo (0) = 1, enquanto uma pessoa de 100 anos ter a grau de pertin encia (100) = 0. Por outro lado, uma pessoa de 40 anos pode ser considerada mais ou menos jovem, assim poder amos ter (40) = 0, 5. De maneira similar, a l ogica fuzzy estendeu a l ogica cl assica (de dois valores, verdade e falsidade) para o dom nio cont nuo, onde as vari aveis e proposi c oes apresentam diferentes graus de verdade. As regras de combina c ao e infer encia foram tamb em modicadas para o caso fuzzy, procurando manter coer encia e consist encia com as regras da l ogica

86

5. Considera c oes Finais

cl assica. Por meio da l ogica fuzzy, foi poss vel levar os sistemas especialistas cl assicos para o dom nio incerto, desenvolvendo os chamados sistemas especialistas fuzzy. Atrav es de procedimentos de fuzica c ao (que transformam entradas precisas, em fun c oes de pertin encia) e de defuzica c ao (que transforma sa das fuzzy, em valores precisos), foi poss vel projetar controladores fuzzy que fazem uso de bases de regras. O texto fez uma introdu c ao a conjuntos fuzzy e l ogica fuzzy, nalizando com uma discuss ao sobre controladores fuzzy e apresentado exemplos did aticos. Os algoritmos gen eticos fazem parte da classe de m etodos evolutivos, os m etodos que se inspiram em processos naturais de evolu c ao para resolver problemas diversos, sejam eles de engenharia, biologia ou matem atica. Os algoritmos gen eticos, por exemplo, partem do princ pio da separa c ao entre descri c ao e representa c ao de solu c oes candidatas para um problema particular. As solu c oes candidatas s ao codicadas atrav es de cadeias de bits, de forma assemelhada a ` codica c ao do DNA, e atrav es de um processo de sele c ao externo ` as solu c oes evoluem de uma gera c ao para outra, aumentando a qualidade dos membros da popula ca o a cada gera c ao. A sele c ao se d a com base em uma fun c ao de aptid ao (tness function), a qual avalia a qualidade da solu c ao candidata codicada por uma cadeia de s mbolos. In umeras s ao as aplica c oes de algoritmos gen eticos e existem v arios outros m etodos evolutivos, como programa c ao gen etica, col onia de formigas e swarm intelligence.

Refer encias Bibliogr acas


[1] A. Church. Introduction to mathematical logic. Princeton University Press, 1956. [2] E. Cox. Fuzzy fundamentals. IEEE Spectrum, pages 5861, October 1992. [3] C. Darwin. On the origin of species by means of natural selection, or the preservation of favoured races in the struggle for life. 1859. [4] L. Davis. Handbook of Genetic Algorithms. Van Nostrand Reinhold, 1991. [5] G. Goebel. An introduction to fuzzy control systems. June 2003. [6] D. Goldberg. Genetic Algorithms in Search, Optimization, and Machine Learning. Addison Wesley, 1989. [7] J. Holland. Adaptation in Natural and Articial Systems. Michigan University Press, 1975. [8] J. Jantzen. Tutorial on fuzzy logic. Technical Report 98-E 868, Department of Automation, Technical University of Denmark, August 1998. [9] E. H. Mamdani. Application of fuzzy logic to approximate reasoning using linguistic synthesis. IEEE Transactions on Computers, C-26(12):11821191, 1977. [10] T. M. Mitchell. Machine Learning. McGraw-Hill, Boston, MA, 1997. [11] J. Nocedal and S.J. Wright. Numerical Optimization. Springer-Verlag, 1999. [12] G. Orr, N. Schraudolph, and F. Cummins. Neural networks. Lecture Notes for CS-449, Willamette University, Fall 1999. [13] D. Poole, A. Mackworth, and R. Goebel. Computational Intelligence: A Logical Approach. Oxford University Press, 1998. [14] S. Russel and P. Norvig. Articial Intelligence: A Modern Approach. Prentice Hall, Englewood Clis, 1st edition, 1995. [15] K. Self. Designing with fuzzy logic. IEEE Spectrum, pages 4244, 105, November 1990.

88

Refer encias Bibliogr acas

[16] R. Tanscheit. Sistemas fuzzy. Minicurso, VI Simp osio Brasileiro de Automa c ao Inteligente, Bauru, SP, Setembro 2003. [17] L. A. Zadeh. Fuzzy sets. Information and Control, 8:338353, 1965. [18] L. A. Zadeh. Outline of a new approach to the analysis of complex systems and decision processes. IEEE Transactions on Systems, Man, and Cybernetics, 1:2844, 1973. [19] L. A. Zadeh. The concept of linguistic variable and its applications to approximate reasoning. Information Sciences, 8:4380, 1975. [20] H.-J. Zimmermann, editor. Fuzzy set theory and its applications. Kluwer, Boston, 1st edition, 1991.

Anda mungkin juga menyukai