I¥W
®®®®®®o••••o••••••s••o•••••o®•®©®
Redes Neurais Artificiais: Teoria e Aplicações
Antônio de Pádua Braga (DELT-U...
1692 downloads
4696 Views
85MB Size
Report
This content was uploaded by our users and we assume good faith they have the permission to share this book. If you own the copyright to this book and it is wrongfully on our website, we offer a simple DMCA procedure to remove your content from our site. Start by pressing the button below!
Report copyright / DMCA form
I¥W
®®®®®®o••••o••••••s••o•••••o®•®©®
Redes Neurais Artificiais: Teoria e Aplicações
Antônio de Pádua Braga (DELT-UFMG)
André Ponce de Leon E de Carvalho (ICMSC -USP)
Teresa Bernarda Ludermir (DI-UFPE)
TC EDITORA
Capa: Dan Palatnik Direitos exclusivos para a língua portuguesa Copyright © 2000 by LTC - LIVROS TÉCNICOS E CIENTÍFICOS EDITORA S.A. Travessa do Ouvidor, 11 Rio de Janeiro, RJ - CEP 20040-040 Tel.: 21-221-9621 Fax: 21 -221-3202 Reservados todos os direitos . É proibida a duplicação ou reprodução deste volume , no todo ou em parte, sob quaisquer formas ou por quaisquer meios (eletrônico , mecânico, gravação , fotocópia ou outros) sem permissão expressa da Editora.
A Wanda e Mateus, A Valéria e Beatriz, A Wilson, Artur e Rodrigo.
Prefácio
A idéia de escrever este livro surgiu como uma conseqüência natural do trabalho conjunto que temos realizado nos últimos anos. Embora distantes fisicamente, graças à Internet, à execução de projetos em conjunto como ProTeM-CC/CNPq, RECOPE-IA/FINEP e à organização dos Simpósios Brasileiros de Redes Neurais (SBRNs), temos estado em contato freqüente. Em algumas oportunidades, durante os nossos cursos de mestrado e doutorado, fomos contemporâneos, trabalhando nos mesmos departamentos e grupos de pesquisa. A área de Redes Neurais Artificiais (RNAs) começou a se desenvolver no Brasil ao final dos anos 70, e, desde então, foram formados inúmeros mestres e vários doutores na área. Por ter característica multidisciplinar, a gama de aplicações das RNAs é vasta, o que gerou também nos últimos anos no Brasil uma grande demanda por aplicações nos setores industrial, comercial e de serviços. Com a inclusão de disciplinas de RNAs em vários dos cursos de graduação em Informática e Engenharia, tornou-se imprescindível um livro que tivesse um nível técnico apropriado em que o assunto fosse abordado com uma visão mais ampla da área, proporcionando ao leitor uma formação sólida em fundamentos e aplicações das RNAs. Este livro apresenta aspectos básicos e aplicações de RNAs. Após uma introdução gradual aos seus principais fundamentos, tais como aprendizado e principais topologias, os modelos mais difundidos são então apresentados. Em todo o livro, o assunto é abordado com a profundidade adequada para que o leitor adquira a autonomia necessária para o desenvolvimento de suas próprias aplicações. Como existe na literatura uma diversidade muito grande de modelos de RNAs, resolvemos incluir neste livro somente aqueles que, do ponto de vista dos autores, têm sido mais investigados nas universidades e nos laboratórios de pesquisa, além de utilizados em aplicações práticas. O texto que se segue pode ser utilizado para cursos de diferentes níveis e audiências, tais como: • Curso de RNAs em nível de graduação : Capítulos 1 a 4, Capítulo 5 (Seções 5 . 1 e 5.6), Capítulo 6 e Capítulo 10. • Curso de RNAs em nível de pós-graduação: todo o livro. • Seminários sobre tópicos de RNAs: Capítulos 5, 7, 8, 9 e 10; • Minicursos de introdução a RNAs: Capítulos 1 e 2, Capítulo 3 (Seções 3.1 e 3.3), Capítulo 4, Capítulo 6 (Seção 6.2 ) e Capítulo 10.
Esperamos que este livro atinja os seus objetivos, servindo de instrumento para a difusão da área de RNAs no Brasil, e que seja utilizado como ferramenta de trabalho para aqueles que se dedicam à área e também como incentivo para aqueles que se iniciam no assunto. Finalmente, gostaríamos de agradecer às nossas esposas, Wanda e Valéria, ao ex-marido Wilson e aos nossos filhos Mateus, Beatriz, Artur e Rodrigo, pelo amor, apoio, paciência e por todas as horas de convívio das quais os privamos para nos dedicarmos à elaboração deste livro e aos nossos trabalhos de pesquisa. Agradecemos a todos os amigos, colegas e alunos, que, através de discussões, comentários e palavras de incentivo, colaboraram para a realização deste livro. Braga gostaria de agradecer a Gustavo G. Parma e a Alessandra L. Carvalho pela ajuda na elaboração dos gráficos das Figuras 10.2, 10.3 e 10.6. André gostaria de agradecer especialmente aos alunos Cláudia Milaré, Edmar Martineli, Elson Mendes Filho, Ernesto Vargas, Estefane Lacerda, Fabio Melfi, Hélio Diniz, Humberto de Sousa, Katti Faceli, Marco Vega, Patrícia Teixeira, Renan Giovanini, Ricardo Sovat, Roberto Figueira e Werner Hanisch. Teresa agradece especialmente a Jeferson pela ajuda nos desenhos das figuras dos Capítulos 1 e 8. Agradecemos também às agências de fomento CNPq, CAPES, FINEP, FAPESP, FAPEMIG e FACEPE pelo apoio financeiro recebido durante a nossa vida acadêmica. Antônio de Pádua Braga André P. de L. F. de Carvalho Teresa Bernarda Ludermir
Sobre os Autores
Antônio de Pádua Braga é Engenheiro Eletricista, formado pela UFMG em 1987, e Mestre em Ciência da Computação, também pela UFMG. Obteve o seu PhD em Engenharia Elétrica em 1995 pelo Imperial College (University of London) na área de Redes Neurais Artificiais. É atualmente Professor Adjunto do Departamento de Engenharia Eletrónica da UFMG, onde orienta vários alunos de doutorado, mestrado e graduação na área de Redes Neurais. Publicou vários trabalhos em periódicos e em anais de conferências nacionais e internacionais na área deste livro. Organizou o V Simpósio Brasileiro de Redes Neurais e é coordenador da Comissão Especial de Redes Neurais da Sociedade Brasileira de Computação. É atualmente co-editor chefe do periódico internacional International Journal of Computational Intelligence and Applications, publicado pela Imperial College Press, de Londres, Inglaterra. André P. de L. F. de Carvalho cursou graduação e mestrado em Ciência da Computação pelo Departamento de Informática da Universidade Federal de Pernambuco em 1987 e 1990, respectivamente. Em 1994, obteve seu PhD em Redes Neurais pela University of Kent at Canterbury, Inglaterra. Iniciou carreira docente em 1994 como Professor Assistente junto ao Departamento de Ciências da Computação e Estatística da Universidade de São Paulo, Campus de São Carlos. Em 1998, tornou-se Professor Associado do referido departamento, de onde está licenciado. Atualmente, é Professor Associado da University of Guelph, Canadá. Publicou vários artigos em congressos e periódicos nacionais e internacionais e dois livros. Organizou o II Simpósio Brasileiro de Redes Neurais e foi coordenador da Comissão Especial de Redes Neurais da Sociedade Brasileira de Computação. É atualmente co-editor chefe do periódico internacional International Journal of Computational Intelligence and Applications, publicado pela Imperial College Press, de Londres, Inglaterra. Teresa B. Ludermir fez a graduação e o mestrado em Ciência da Computação no Departamento de Informática da Universidade Federal de Pernambuco em 1983 e 1986, respectivamente. Em 1990, terminou o doutorado em Redes Neurais no Imperial College, Universidade de Londres. De 1991 a 1992, foi professora no Kings College London, Universidade de Londres. Desde setembro de 1992 é Professora Adjunta do Departamento de Informática da Universidade Federal de Pernambuco, sendo hoje coordenadora do curso de pós-graduação em Informática e líder do grupo de Inteligência Computacional. Publicou mais de sessenta artigos em periódicos e congressos, dois livros em Redes Neurais e organizou o III Simpósio Brasileiro de Redes Neurais, tendo sido também coordenadora da Comissão Especial de Redes Neurais da Sociedade Brasileira de Computação.
Sumário
1 1 Introdução ............................................................................................................ 1.1 O que São Redes Neurais Artificiais? .......................................................... 1 1.2 Histórico ......................................................................................................... 2 1.3 Motivação para as RNAs: Redes Biológicas ................................................ 4 1.3.1 Neurônios Biológicos ........................................................................ 5 1.3.2 A Comunicação no Cérebro .............................................................. 6 1.4 Neurônios Artificiais: Modelo MCP ............................................................ 7 1.5 Funções de Ativação ..................................................................................... 10 1.6 Principais Arquiteturas de RNAs ................................................................ 11 1.7 Estrutura do Livro ........................................................................................ 13 15 2 Aprendizado ............................................................................................................ 2.1 Introdução ...................................................................................................... 15 2.2 Aprendizado Supervisionado ....................................................................... 16 2.2.1 Correção de Erros .............................................................................. 17 2.3 Aprendizado Não-supervisionado ............................................................... 19 2.3.1 Aprendizado Hebbiano .............................................. :....................... 20 2.3.2 Modelo de Linsker ............................................................................. 21 2.3.3 Regra de Oja ...................................................................................... 23 2.3.4 Regra de Yuille .................................................................................. 23 2.3.5 Aprendizado por Competição .......................................................... 23 2.4 Aprendizado por Reforço ............................................................................. 25 2.4.1 Classes de Aprendizado por Reforço ............................................... 26 2.5 Conclusão ....................................................................................................... 27 2.6 Exercícios ....................................................................................................... 27 29 3 Redes Perceptron e Adaline ................................................................................... 3.1 Introdução ...................................................................................................... 29 3.2 Portas de Limiar ............................................................................................ 30 3.2.1 Portas de Limiar Lineares ................................................................ 30 3.2.2 Portas de Limiar Quadráticas .......................................................... 32 3.3 Perceptron ...................................................................................................... 35 3.3.1 O Algoritmo de Aprendizado do Perceptron .................................. 36 3.3.2 Teorema da Convergéncia ................................................................ 38 3.3.3 Implementação do Algoritmo de Treinamento do Perceptron ...... 41 3.4 Adaline ........................................................................................................... 43 3.4.1 Atualização dos Pesos pelo Método do Gradiente ......................... 43 3.4.2 Visão Gráfica do Processo de Aprendizado .................................... 45 3.5 Conclusão ....................................................................................................... 46 3.6 Exercícios ....................................................................................................... 47
4 Redes MLP ............................................................................................................ 49 4.1 Arquitetura .................................................................................................... 51 4.1.1 Funcionalidade .................................................................................. 53 4.2.1 Otimização da Topologia Utilizando Pruning ................................ 56 4.2 Treinamento de Redes MLP ......................................................................... 59 4.2.1 Derivação das Fórmulas ................................................................... 62 4.2.2 Dificuldades no Treinamento ........................................................ '.. 67 4.3 Variações do Back-Propagation .................................................................. 70 4.3.1 Algoritmo Quickprop ........................................................................ 70 4.3.2 Algoritmo Rprop ............................................................................... 71 4.4 Aplicações ...................................................................................................... 72 4.5 Conclusão ....................................................................................................... 73 4.6 Exercícios ....................................................................................................... 73 5 Memórias Matriciais ............................................................................................... 77 5.1 Introdução ...................................................................................................... 77 5.2 Modelo Não-linear de Willshaw .................................................................. 78 5.2.1 Um Exemplo de Utilização da Memória de Willshaw ................... 80 5.2.2 Capacidade de Recuperação de Informação ................................... 80 5.3 Modelo Matricial Linear ............................................................................... 81 5.4 Exemplo de Utilização da Memória Matricial Linear ............................... 82 5.4.1 O Termo de Crosstalk e Sua Influência na Capacidade de Recuperação de Informação ................................. :................ ........... 83 5.5 OLAM ............................................................................................................ 85 5.5.1 Exemplo de Utilização da OLAM .................................................... 86 5.6 Modelo de Hopfield ...................................................................................... 87 5.6.1 Exemplo de Operação da Rede de Hopfield ................................... 90 5.6.2 Minimização de Energia ................................................................... 93 5.6.3 Capacidade de Armazenamento ...................................................... 95 5.7 Conclusão ....................................................................................................... 97 5.8 Exercícios ....................................................................................................... 98 6 Redes Self-Organizing ............................................................................................ 99 6.1 Redes ART ...................................................................................................... 102 6.1.1 Arquitetura Básica da Rede ART 1 ................................................. 103 6.1.2 Treinamento ....................................................................................... 105 6.1.3 Outros Modelos ART ......................................................................... 111 6.1.4 Aplicações .......................................................................................... 112 6.2 Redes SOM ..................................................................................................... 112 6.2.1 Arquitetura ........................................................................................ 115 6.2.2 Melhorando o Desempenho da Rede ................................................ 116 6.2.3 Treinamento ....................................................................................... 117 6.2.4 Exemplo de Categorização de Dados com SOM ............................. 120 6.2.5 Algoritmo LVQ .................................................................................. 125 6.2.6 Aplicações .......................................................................................... 126 6.3 Conclusão ....................................................................................................... 127 6.4 Exercícios ....................................................................................................... 127 i Sistemas Neurais Híbridos .................................................................................... 129 7.1 RNAs e Algoritmos Genéticos ...................................................................... 131 7.1.1 Algoritmos Genéticos .........................:.............................................. 131
7.1.2 Representação .................................................................................... 133 7.1.3 Seleção ............................................................................................... 134 7.1.4 Reprodução ........................................................................................ 136 7.1.5 Parâmetros Genéticos ....................................................................... 139 7.1.6 Aplicações .......................................................................................... 140 7.1.7 Projeto Evolucionário de RNAs ....................................................... 141 7.1.8 Representação das Redes .................................................................. 143 7.1.9 Operadores Genéticos ....................................................................... 146 7.2 Combinação de RNAs com RBC .................................................................. 147 7.2.1 Raciocínio Baseado em Casos .......................................................... 147 7.2.2 Histórico de RBC ............................................................................... 148 7.2.3 Funcionamento de um Sistema de RBC .......................................... 149 7.2.4 Representação de Casos .................................................................... 150 7.2.5 Indexação de Casos ........................................................................... 151 7.2.6 Armazenamento e Recuperação de Casos ....................................... 151 7.2.7 Adaptação de Casos .......................................................................... 152 7.2.8 Avaliação e Reparo de Casos ............................................................ 152 7.2.9 Integrando RNA com RBC ............................................................... 152 7.3 Extração de Conhecimento .......................................................................... 155 7.3.1 Método EN ......................................................................................... 159 7.3.2 Algoritmo Trepan .............................................................................. 159 7.3.3 Método DEDEC ................................................................................. 159 7.4 Conclusão ....................................................................................................... 160 7.5 Exercícios ....................................................................................................... 160
8 Redes Neurais sem Pesos ........................................................................................ 161 8.1 Introdu ção ...................................................................................................... 161 8.2 Nodos RAM .................................................................................................... 163 8.3 Discriminadores ............................................................................................ 167 8.3.1 Multidiscriminadores ........................................................................ 168 8.3.2 WISARD ............................................................................................. 169 8.4 Nodos PLN ..................................................................................................... 17 1 8.5 Modelo de Nodo MPLN ................................................................................ 174 8.6 Nodo GSN ...................................................................................................... 175 8.7 GRAM ............................................................................................................ 182 8.8 GNU ..... ....................................................................................................... 184 8.9 pRAM ............................................................................................................ 185 8.10 SDM ............................................................................................................ 186 8.11 ALN ............................................................................................................ 187 8.12 ADAM ............................................................................................................ 189 8.13 Estudos Comparativos .................................................................................. 189 8.14 Conclusão ....................................................................................................... 191 8.15 Exercícios ....................................................................................................... 191 ............................................................................................................ 193 Variações 9.1 Redes RBF ...................................................................................................... 194 9.1.1 Arquitetura ........................................................................................ 194 9.1.2 Treinamerito ....................................................................................... 193 ..... ..... 2 02 9.2 Redes Construtivas ............ 203 9.2.1 Redes NTN ..................................... 203
9.2.2 Redes CasCor ................ ......................................... .......... .................. 203
9.3
9.4 9.5
9.2.3 Redes Upstart .................................................................................... 9.2.4 Redes Tiling ....................................................................................... 9.2.5 Redes Tower e Pyramid .................................................................... 9.2.6 Redes SOF7" ...................................................................................... Processamento Temporal .............................................................................. 9.3.1 Atraso no Tempo ............................................................................... 9.3.2 Back -Propagation Recorrente ......................................................... 9.3.3 Back-Propagation Through Time .................................................... 9.3.4 Redes Recorrentes de Tempo Real ................................................... 9.3.5 Redes de Elman e de Jordan ............................................................. Conclusão ....................................................................................................... Exercícios .......................................................................................................
204 205 205 206 207 208 209 209 210 211 214 215
10 Aplicações ............................................................................................................ 217 10.1 Introdução ...................................................................................................... 217 10.2 Modelamento e Controle Neural .................................................................. 218 10.2.1 Modelamento e Identificação de Sistemas ...................................... 219 10.2.2 Controladores Neurais ...................................................................... 221 10.2.3 Treinamento On-line em Identificação e Controle ......................... 225 10.3 Predição ......................................................................................................... 227 10.4 Otimização ..................................................................................................... 228 10.5 Processamento de Imagens e Sinais ............................... ............................. 231 10.6 Classificação .................................................................................................. 232 13.7 Conclusão ....................................................................................................... 234 Bibliografia ...................................................................................................................
237
Redes Neurais Artificiais: Teoria e Aplicações
Capítulo 1
Introdução 1.1 O que são Redes Neurais Artificiais? O final da década de 80 marcou o ressurgimento da área de Redes Neurais Artificiais (RNAs). também conhecida como cone.xionis7no ou sistemas de processamento paralelo e distribuído. Esta forma de computação nào-algorítmica é caracterizada por sistemas que. em algum nível, relembram a estrutura do cérebro humano. Por não ser baseada em regras ou programas, a computação neural se constitui em unia alternativa à computação algorítmica convencional. RNAs são sistemas paralelos distribuídos compostos por unidades de processamento simples (nodos) que calculam determinadas funções matemáticas (normalmente não-lineares). Tais unidades são dispostas em unia ou mais camadas e interligadas por um grande número de conexões, geralmente unidirecionais. Na maioria dos modelos estas conexões estão associadas a pesos. os quais armazenam o conhecimento representado no modelo e servem para ponderar a entrada recebida por cada neurônio da rede. O funcionamento destas redes é inspirado em uma estrutura física concebida pela natureza: o cérebro humano. A solução de problemas através de RNAs é bastante atrativa. já que a forma conto estes são representados internamente pela rede e o paralelismo natural inerente à arquitetura das RNAs criam a possibilidade de um desempenho superior ao dos modelos convencionais. Em RNAs, o procedimento usual na solução de problemas passa inicialmente por uma fase de aprendizagem. em que um conjunto de exemplos é apresentado para a rede, a qual extrai automaticamente as características necessárias para representar a informação fornecida.
Estas características são utilizadas posteriormente para gerar respostas para o problema. A capacidade de aprender através de exemplos e de generalizar a informação aprendida é, sem dúvida , o atrativo principal da solução de problemas através de RNAs. A generalização , que está associada à capacidade de a rede aprender através de um conjunto reduzido de exemplos e posteriormente dar respostas coerentes para dados não-conhecidos , é uma demonstração de que a capacidade das RNAs vai muito além do que simplesmente mapear relações de entrada e saída. As RNAs são capazes de extrair informações não-apresentadas de forma explícita através dos exemplos. Não obstante, as RNAs são capazes de atuar como mapeadores universais de funções multivariáveis, com custo computacional que cresce apenas linearmente com o número de variáveis. Outra característica importante é a capacidade de auto -organização e de processamento temporal, que, aliada àquelas citadas anteriormente, faz das RNAs uma ferramenta computacional extremamente poderosa e atrativa para a solução de problemas complexos.
Histórico O primeiro modelo artificial de um neurônio biológico foi fruto do trabalho pioneiro de Warren 11cCulloch e Walter Pitts em 1943 [11P43]. McCulloch, psiquiatra e neuroanatomista,- dedicou 20 anos à tentativa de representar um evento no sistema nervoso. Pitts, um matemático recém-graduado, juntou-se a ele em 1942. No trabalho publicado em 1943, "A Logical Calculus of the Ideas Immament in Nervous Activity" [MP43], é apresentada uma discussão sofisticada de redes lógicas de nodos (chamados no decorrer deste livro de nodos ou nodos MCP) e novas idéias sobre máquinas de estados finitos, elementos de decisão de limiar lineares e representações lógicas de várias formas de comportamento e memória . Parte da discussão em RNAs gira em torno dos métodos de aprendizado para que os nodos possam ser capazes de executar uma determinada função. O trabalho de McCulloch e Pitts se concentra muito mais em descrever um modelo artificial de um neurônio e apresentar suas capacidades computacionais do que em apresentar técnicas de aprendizado. O aprendizado de redes biológicas e artificiais veio a ser objeto de estudo somente alguns anos depois do trabalho de McCulloch e Pitts. O primeiro trabalho de que se tem notícia que tem ligação direta com o aprendizado foi apresentado por Donald Hebb [Heb49], em 1949. Hebb mostrou como a plasti2
3
cidade da aprendizagem de redes neurais é conseguida. através da variação dos pesos de entrada dos nodos. Ele propôs uma teoria para explicar o aprendizado em nodos biológicos baseada no reforço das ligações sinápticas entre nodos excitados. A regra de Hebb, como é conhecida a sua teoria na comunidade de RNAs, foi interpretada do ponto de vista matemático, e é hoje utilizada em vários algoritmos de aprendizado . Mais tarde, Widrow e Hoff [WH60] sugeriram uma regra de aprendizado, conhecida como regra de Widrow-Hoff, ou regra delta, que é ainda hoje bastante utilizada . Esta, por sua vez, é baseada no método do gradiente para minimização do erro na saída de um neurônio com resposta linear.
Em 1958, Rank Rosenblatt [Ros58] demonstrou, com o seu novo modelo, o perceptron, que, se fossem acrescidas de sinapses ajustáveis, as RNAs com nodos MCP poderiam ser treinadas para classificar certos tipos de padrões. Rosenblatt descreveu uma topologia de RNA, estruturas de ligação entre os nodos e, o mais importante, propôs um algoritmo para treinar a rede para executar determinados tipos de funções. O perceptron simples descrito por Rosenblatt possui três camadas: a primeira recebe as entradas do exterior e possui conexões fixas (retina); a segunda recebe impulsos da primeira através de conexões cuja eficiência de transmissão (peso) é ajustável e, por sua vez, envia saídas para a terceira camada (resposta). Este tipo elementar de perceptron comporta-se como um classificador de padrões, dividindo o espaço de entrada em regiões distintas para cada uma das classes existentes. Como será visto mais adiante, o perceptron somente é capaz de classificar padrões que sejam linearmente separáveis. Inicialmente, a saída da rede é aleatória, mas, pelo ajuste gradual dos pesos, o perceptron é treinado para fornecer saídas de acordo com os dados do conjunto de treinamento. O que Rosenblatt buscava - e os "novos conexionistas" continuam buscando - era projetar RNAs que fossem capazes de fazer descobertas interessantes sem a necessidade de regras.
Em 1969, Minsky e Papert [MP69] chamaram a atenção para algumas tarefas que o perceptron não era capaz de executar, já que este só resolve problemas linearmente separáveis, ou seja, problemas cuja solução pode ser obtida dividindo-se o espaço de entrada em duas regiões através de uma reta. O perceptron, por exemplo, não consegue detectar paridade, conectividade e simetria, que são problemas não-linearmente separáveis. Estes são exemplos de "problemas difíceis de aprender" (hard learning problems). Problemas difíceis de aprender formam uma classe grande de funções que não pode ser desprezada. O principal argumento de Minsky e Papert era de que o problema
do crescimento explosivo. tanto de espaço ocupado como do tempo requerido para a solução de problemas complexos - grandes obstáculos que a escola simbolista da inteligência artificial já enfrentava -, afetaria. cedo ou tarde. a^RNAs , inclusive os perceptrons . Argumentaram também que . embora existisse um algoritmo de aprendizado que garantia a convergência para modelos com uma única camada de nodos, como era o caso do modelo perceptron original. o mesmo não acontecia para redes perceptron com mais de unia camada. Nos anos 70. a abordagem conexionista ficou adormecida i em grande parte devido à repercussão do trabalho de Minsk, v e Papert). apesar de alguns poucos pesquisadores continuarem trabalhando na área. Entre eles poderei ser citados Igor Aleksander (redes sem pesos) na Inglaterra. Kuniliiko Fukushima (cognitron e neocognitron) no .Japão. Steven Grossberg (sistemas auto-adaptativos) nos EUA. e Tenvo Kolionen (memórias associativas e auto-organizadas) na Finlândia.
de suas conexões e o comportamento conjunto destes nodos naturais formam a base para o estudo das RNAs. O cérebro humano é responsável pelo que se chama de emoção, pensamento. percepção e cognição. assim como pela execução de funções sensoriomotoras e autônomas. Além disso. sua rede de nodos tem a capacidade de reconhecer padrões e relacioná - los. usar e armazenar conhecimento por experiência. além de interpretar observações . Apesar do estudo contínuo . o funcionamento das redes biológicas ainda não foi totalmente desvendado pelo honrem. Não se sabe ao certo a forma como as funções cerebrais são realizadas. O que se tem até o momento são modelos, os quais são atualizados a cada nova descoberta. No entanto, a estrutura fisiológica básica destas redes de nodos naturais é conhecida. e é exatamente nesta estrutura fisiológica que se baseiam as RNAs. As RNAs tentam reproduzir as funções das redes biológicas. buscando implementar seu comportamento básico e sua dinâmica. No entanto. do ponto
Em 1982. John Hopfield publicou mil artigo [HopS2' que ('_.amou a atenção para as propriedades associativas das RNAs. Este artigo foi responsável por parte da retomada das pesquisas na área. O grande feito de Hopfield foi. sem dúvida. mostrar a relação entre redes recorrentes auto-associativas e sistemas físicos. o que também abriu espaço para a utilização de teorias correntes da Física para estudar tais modelos. Não obstante, a descrição do algoritmo de treinamento back-propagation alguns anos mais tarde 'RH\V-'-C), mostrou que a visão de linsky e Papert sobre o perceptron era bastante pessimista. As RNAs de múltiplas camadas são. sem dúvida. capazes de resolver -problemas difíceis de aprender—. A partir de meados da década de 80. houve nova explosão de interesse pelas RNAs na comunidade internacional. Dois outros fatores foram responsáveis pela retomada de interesse na área: em primeiro lugar , o avanço da tecnologia , sobretudo da microeletrônica , que vem permitindo a realização física de modelos de rodos e sua interconexão de uni modo antes impensável: em segundo , o fato de a escola simbolista , a despeito de seu sucesso na solução de determinados tipos de problemas , não ter conseguido avanços significativos na resolução de alguns problemas simples para um ser humano.
de vista físico. no momento as redes artificiais se diferem bastante das redes biológicas. E importante. contudo. observar as similaridades entre estes dois tipos de sistemas. tanto para que se possa entender melhor o sistema nervoso quanto para buscar idéias e inspirações para a pesquisa em neurocomputação. Como características comuns, pode-se citar que os dois sistemas são baseados em unidades de computação paralela e distribuída que se comunicam por meio de conexões sinápticas. possuem detetores de características. redundância e modularização das conexões. Apesar da pouca similaridade. do ponto de vista biológico , entre os dois sistemas . estas características comuns permitem às RNAs reproduzir com fidelidade várias funções somente encontradas nos seres humanos. Acredita-se, portanto. que o futuro da neurocomputação possa se beneficiar ainda mais do desenvolvimento de modelos que tenham apelo biológico. Estruturas encontradas nos sistemas biológicos podem inspirar o desenvolvimento de novas arquiteturas para modelos de RNAs. Similarmente. espera-se que a Biologia e as Ciências Cognitivas possam se beneficiar do desenvolvimento dos modelos da neurocomput ação.
1.3. 1 ! Neurônios biológicos
1.3 . ' Motivação para as RNAs: redes biológicas O cérebro humano contém em torno de 1011 neurônios , sua célula fundamental. Cada um destes neurônios processa e se comunica com milhares de outros continuamente e em paralelo . A estrutura individual dos nodos , a topologia
Os neurônios são divididos em três seções : o corpo da célula, os dendritos e o axônio , cada um com funções específicas porém complementares . O corpo do neurônio mede apenas alguns milésimos de milímetros , e os dendritos apresentam poucos milímetros de comprimento . O axônio , contudo, pode ser mais longo e , em geral , tem calibre uniforme. Os dendritos têm por função receber
Espaço Sináptico
Figura 1.1: Componentes do neurônio biológico.
as informações , ou impulsos nervosos , oriundas de outros neurônios e conduzilas até o corpo celular . Aqui, a informação é processada, e novos impulsos são gerados. Estes impulsos são transmitidos a outros neurônios , passando através do axônio até os dendritos dos neurônios seguintes . O ponto de contato entre a terminação axônica de um neurônio e o dendrito de outro é chamado de sinopse. É pelas sinapses que os nodos se unem funcionalmente , formando redes neurais. As sinapses funcionam como válvulas , e são capazes de controlar a transmissão de impulsos - isto é , o fluxo da informação - entre os nodos na rede neural . O efeito das sinapses é variável , e é esta variação que dá ao neurônio capacidade de adaptação . A Figura 1.1 ilustra , de forma simplificada, os componentes do neurônio . Os sinais oriundos dos neurônios pré-sinópticos são passados para o corpo do neurônio pós-sináptico , onde são comparados com os outros sinais recebidos pelo mesmo . Se o percentual em um intervalo curto de tempo é suficientemente alto, a célula " dispara", produzindo um impulso que é transmitido para as células seguintes ( nodos pós-sinópticos ). Este sistema simples é responsável pela maioria das funções realizadas pelo nosso cérebro. A capacidade de realizar funções complexas surge com a operação em paralelo de todos os 1011 nodos do nosso cérebro.
é que cria a habilidade de produzir e transmitir esses dois tipos de sinais. Esta membrana .contém proteínas com funções específicas de, por exemplo, mover íons, apressar reações químicas etc. A membrana que envolve o exterior do corpo do neurônio tem a capacidade de gerar impulsos nervosos (elétricos), uma função vital do sistema nervoso e central à sua capacidade computacional. O corpo, por sua vez, combina os sinais recebidos, e, se o valor resultante for acima do limiar de excitação do neurônio, um impulso elétrico é produzido e propagado através do axônio para os neurônios seguintes. Há uma diferença de potencial (em volts) entre o interior e o exterior do neurônio, ocasionada pela diferença entre a concentração de potássio (interna à célula) e de sódio (externa à célula). A concentração de íons de potássio dentro da célula cria um potencial elétrico de -70 mv (potencial de repouso) em relação ao exterior. Para que a célula dispare, produzindo um potencial de ação (impulso nervoso), é preciso que os impulsos das sinapses reduzam este nível para cerca de -50 mv. Nesse momento, o fluxo de sódio e de potássio é invertido, e o interior da célula torna-se, subitamente, positivo em relação ao exterior. Esta inversão de polaridade faz com que o impulso nervoso se propague pelo axônio até suas conexões sinápticas (Figura 1.2). Quando o impulso chega ao terminal de um axônio, os canais controlados por tensão se abrem. Isto libera as moléculas neurotransmissoras para dentro da clave sináptica (região entre a membrana pré-sináptica e a membrana pós-sináptica), e o processo continua no neurônio seguinte. O tipo de neurotransmissor (há em torno de 100 tipos diferentes de neurotransmissores) liberado determinará a polarização ou a despolarização do corpo do neurônio seguinte. De acordo com o tipo de neurotransmissor liberado, a sinapse poderá ser inibitória ou excitatória. A contribuição de todos os nodos pré-sinápticos na polarização do neurônio pós-sináptico determinará se este irá ou não gerar um impulso nervoso. Portanto, o percentual de disparo de um neurônio é determinado pelo acúmulo de um número grande de entradas inibitórias e excitatórias, medido pelo corpo da célula em um pequeno intervalo de tempo. Depois de gerar um impulso, o neurônio entra em um período de refração (período em que o axônio não pode ser novamente estimulado), durante o qual retorna ao seu potencial de repouso enquanto se prepara para a geração de um novo impulso. /'-' V
X1.3.2' A comunicação no cérebro A comunicação no cérebro pode ser de dois tipos: sinais químicos através das sinapses e sinais elétricos dentro do neurônio. A ação da membrana dos nodos
6
7
1.4 Neurônios artificiais: modelo MCP 0 modelo de neurônio proposto por McCulloch e Pitts [MP43] é uma simplificação do que se sabia então a respeito do neurônio biológico. Sua descrição
+40m V
Tempo -50m V -70mV
Disparo Período de descanso
Figura 1.3: Neurônio de McCulloch e Pitts.
Figura 1.2: Potencial de ação em um neurônio.
matemática resultou em uni modelo com n terminais de entrada xl, x2...., x„ (que representam os dendritos) e apenas uni terminal de saída y (representando o axônio). Para emular o comportamento das sinapses, os terminais de entrada do neurônio têm pesos acoplados w1, w2, . , w;, cujos valores podem ser positivos ou negativos, dependendo de as sinapses correspondentes serem inibitórias ou excitatórias. O efeito de unia sinapse particular i no neurônio pós-sináptico é dado por xiwi. Os pesos determinam "em que grau" o neurônio deve considerar sinais de disparo que ocorrem naquela conexão. Uma descrição do modelo está ilustrada na Figura 1.3. Um neurônio biológico dispara quando a soma dos impulsos que ele recebe ultrapassa o seu limiar de excitação (threshold). O corpo do neurônio, por sua vez, é emulado por um mecanismo simples que faz a soma dos valores x; wi recebidos pelo neurônio (soma ponderada) e decide se ô neurônio deve ou não disparar (saída igual a 1 ou a 0) comparando a soma obtida ao limiar ou threshold do neurônio. No modelo 1\ICP, a ativação do neurônio é obtida através da aplicação de uma "função de ativação", que ativa ou não a saída, dependendo do valor da soma ponderada das suas entradas. Na descrição original do modelo 1\ICP, a função de ativação é dada pela função de limiar descrita na Equação 1.1. O nodo IVICP terá então sua saída ativa quando:
xíwi ? o
(1.1)
onde n é o número de entradas do neurônio. w; é o peso associado à entrada x; e 0 é o limiar (threshold) do neurônio. 1MIcCulloch e Pitts simplificaram seu modelo considerando que os rodos em cada camada da rede disparam sincronamente, isto é, que todos os nodos são avaliados ao mesmo tempo. Em sistemas biológicos, sabe-se que não existe um mecanismo para sincronizar as ações dos nodos. nem liá restrição para que as suas saídas sejam ativadas em tempos discretos como no modelo --,\ICP. Sabe-se também que o valor da próxima saída dos nodos biológicos depende enormemente das ativações dos estados anteriores, já que até mesmo os neurotransmissores liberados anteriormente levam algum tempo para se recombinarem, influenciando assim as ativações seguintes. Finalmente, pode-se levantar algumas limitações na descrição do modelo I\ICP original: 1. redes MCP com apenas uma camada só conseguem implementar funções linearmente separáveis; 2. pesos negativos são mais adequados para representar disparos inibidores; 3. o modelo foi proposto com pesos fixos, não-ajustáveis.
2=1
9
+ry iffx>+ry y = x iff lxl < +ry -ry iffx < -ry A função passo, ilustrada na Figura 1.4c, é similar a uma função sinal no sentido de que a função produz a saída + y para os valores de x maiores que zero , caso contrário a função produz o valor -ry. A função degrau é definida pela Equação 1.4: +y iffx>0 y l -ry iffx<0 X
X
A função sigmoidal, conhecida também como S-shape, ilustrada na Figura 1.4d, é uma função semilinear, limitada e monotônica. É possível definir várias funções sigmoidais. As funções sigmoidais são encontradas na construção de diversos modelos nas mais variadas áreas. Umas das funções sigmoidais mais importantes é a função logística definida pela Equação 1.5:
(c) Figura 1.4: Algumas funções de ativação.
1
Funções de ativação
y 1 + -x/T
onde o parâmetro T determina a suavidade da curva. A partir do modelo proposto por McCulloch e Pitts, foram derivados vários outros modelos que permitem a produção de uma saída qualquer, não necessariamente zero ou um, e com diferentes funções de ativação. A Figura 1.4 ilustra graficamente quatro funções de ativação diferentes: a função linear, a função rampa, a função degrau (step) e a função sigmoidal.
1.6 Principais arquiteturas de RNAs
A função de ativação linear mostrada na Figura 1.4a é definida pela Equação 1.2. 1
y=ax onde a é um número real que define a saída linear para os valores de entrada, y é a saída e x é a entrada.
A definição da arquitetura de uma R\A é um parâmetro importante na sua concepção, uma vez que ela restringe o tipo de problema que pode ser tratado pela rede. Redes com uma camada única de nodos MCP, por exemplo, só conseguem resolver problemas linearmente separáveis. Redes recorrentes, por sua vez. são mais apropriadas para resolver problemas que envolvem processamento temporal. Fazem parte da definição da arquitetura os seguintes parâmetros: número de camadas da rede, número de nodos em cada camada, tipo de conexão entre os nodos e topologia da rede. Alguns exemplos de arquiteturas de RNAs são apresentados na Figura 1.5.
A função linear pode ser restringida para produzir valores constantes em uma faixa [-ry, +-y], e neste caso a função passa a ser a função rampa como mostra graficamente a Figura 1.4b e a Equação 1.3. Os'valores máximo e mínimo da saída são +y e -y, respectivamente. 10
11
(2) feedback, ou cíclica -+ a saída de algum neurônio na i-ésima camada da rede é usada como entrada de nodos em camadas de índice menor ou igual a i (Figura 1.5 d, e). Redes cuja saída final (única) é ligada às entradas comportam-se como autômatos reconhecedores de cadeias, onde a saída que é realimentada fornece o estado do autômato (Figura 1.5 d).
(a)
Se todas as ligações são cíclicas, a rede é denominada auto-associativa. Estas redes associam um padrão de entrada com ele mesmo. e são particularmente úteis para recuperação ou "regeneração' de um padrão de entrada (Figura 1.5 e). (c)
Finalmente, as RNAs podem também ser classificadas quanto à sua conec(d)
tividade: (1) rede fracamente (ou parcialmente) conectada (Figura 1.5 b. e, d):
X
(3) rede completamente conectada (Figura 1.5 a. e).
X3L x4
1.7 Estrutura do livro
(e) Figura 1.5: Exemplos de arquiteturas de RNAs.
Quanto ao número de camadas, pode-se ter:
i
(1) redes de camada única --> só existe um nó entre qualquer entrada e qualquer saída da rede (Figura 1.5 a, e);
(2) redes de múltiplas camadas --* existe mais de um neurônio entre alguma entrada e alguma saída da rede (Figura 1.5 b, c, d).
Os nodos podem ter conexões do tipo: 7 e fio 24-_._X C X2, (1) feedforward, ou acíclica - a saída de um neurônio na i-ésima camada da rede não pode ser usada como entrada de nodos em camadas de índice menor ou igual a i (Figura 1.5 a, b, c); 12
O segundo capítulo será dedicado ao estudo dos métodos de aprendizado. que é a característica mais importante das RNAs. Diversos métodos para treinamento de redes têm sido desenvolvidos, os quais podem ser agrupados em quatro paradigmas: aprendizado supervisionado, aprendizado não-supervisionado. aprendizado por reforço e aprendizado por competição. O segundo capítulo descreve com detalhes estes quatro paradigmas. Os tópicos cobertos no terceiro capítulo, iniciando com uma introdução às threshold gates, visam a enfatizar os aspectos computacionais das RNAs implementadas com nodos lógicos, ou Redes Neurais Sem Peso, que, devido à sua importância, serão tratadas mais adiante em um capítulo à parte. Após a introdução das threshold gates e de suas capacidades computacionais, perceptron de uma única camada [Ros58] e as redes lineares do tipo Adaline e 11\Iadaline [WH60] serão então descritos do ponto de vista de suas funcionalidades, aplicações e algoritmos de treinamento. . O quarto capítulo tem por objetivo descrever o funcionamento das RNAs do tipo perceptron inulticamadas. Redes perceptron multicamadas, do original Multilayer Perceptron (MLP), são RNAs que apresentam pelo menos unia
13
camada intermediária ou escondida. Inicialmente será apresentada uma introdução às características básicas das redes MLP, mostrando sua motivação e capacidade computacional. Posteriormente, será apresentado o principal álgoritmo para treinar tais redes, o algoritmo Backpropagation [RHW86] e suas variações. No quinto capítulo, serão abordados os principais modelos de memórias matriciais conhecidos na literatura: modelo não-linear de Willshaw [WBLH69], modelo linear de Kohonen e Anderson [Koh74, And68, And70], OLAM [Koh89] e finalmente o modelo recorrente de Hopfield [Hop82, Hop841. O sexto capítulo será dedicado a uma classe de hNAs que possuem a capacidade de auto-organização, sendo por isso chamadas self-organizing. Após apresentar as principais características destas redes, duas representantes desta classe, redes de Kohonen e redes ART, serão analisadas em detalhes. No sétimo capítulo será descrita uma classe de RNAs conhecida como Redes Neurais Sem Pesos, RNSPs. Será dado um breve histórico das origens deste modelo seguido, das definições dos modelos RAM, Discriminadores, PLN, MPLN, GSN, GRAM, GNU, pRAM, SDM, ALN, ADAM. O capítulo também inclui um estudo comparativo entre RNAs convencionais e RNSPs, conclusão e exercícios. No oitavo capítulo será abordado um dos temas de pesquisa mais promissores de RNAs, que é o desenvolvimento de Sistemas Neurais Híbridos [GK95, SB95]. Após caracterizar o que vêm a ser e quais as características de Sistemas Neurais Híbridos, serão brevemente discutidas as diferentes abordagens utilizadas para o desenvolvimento de tais sistemas. No nono capítulo serão discutidos redes RBF, redes construtivas e processamento temporal. Até o momento foram descritos os aspectos fundamentais das RNAs que formarão a base para o entendimento das aplicações práticas a serem abordadas no décimo capítulo. Embora algumas aplicações práticas tenham sido utilizadas em capítulos anteriores, para facilitar o entendimento dos princípios básicos de operação das RNAs, no décimo capítulo estas aplicações serão descritas de uma forma mais detalhada, com maior ênfase na aplicação propriamente dita do que nos aspectos operacionais das RNAs. Para tal, procurou-se selecionar exemplos de aplicação representativos de diversas áreas, preparando o leitor para desenvolver suas próprias aplicações. As aplicações escolhidas foram sobre identificação, controle, predição e otimização.
14
[
Capítulo 2
Aprendizado 2.1) Introdução Redes Neurais Artificiais possuem a capacidade de aprender por exemplos e fazer interpolações e extrapolações do que aprenderam. No aprendizado conexionista, não se procura obter regras como na abordagem simbólica da Inteligência Artificial (IA), mas sim determinar a intensidade de conexões entre neurônios. Um conjunto de procedimentos bem-definidos para adaptar os parâmetros de uma RNA para que a mesma possa aprender uma determinada função é chamado de algoritmo de aprendizado. Como era de se esperar, não há um único algoritmo de aprendizado. O que temos é um conjunto de ferramentas representadas por diversos algoritmos, cada qual com suas vantagens e desvantagens. Estes algoritmos basicamente diferem pela maneira pela qual o ajuste dos pesos é feito. A utilização de uma RNA na solução de uma tarefa passa inicialmente por uma fase de aprendizagem, quando a rede extrai informações relevantes de padrões de informação apresentados para ela, criando assim uma representação própria para o problema. A etapa de aprendizagem consiste em um processo iterativo de ajuste de parâmetros da rede, os pesos das conexões entre as unidades de processamento, que guardam, ao final do processo, o conhecimento que a rede adquiriu do ambiente em que está operando. Uma definição geral do que vem a ser aprendizagem pode ser expressa da seguinte forma [MM70]: Aprendizagem é o processo pelo qual os parâmetros de uma rede neural são ajustados através de uma forma continuada de estímulo pelo ambiente no qual a rede está operando, sendo o tipo específico 15
de aprendizagem realizada definido pela maneira particular como ocorrem os ajustes realizados nos parâmetros. Diversos métodos para treinamento de redes foram desenvolvidos, podendo ser agrupados em dois paradigmas principais: aprendizado supervisionado e aprendizado não-supervisionado. Outros dois paradigmas bastante conhecidos são os de aprendizado por reforço (que é uni caso particular de aprendizado supervisionado) e aprendizado por competição (que é um caso particular de aprendizado não-supervisionado). Nas próxima seções, estes paradigmas serão estudados, juntamente com vários mecanismos de aprendizado encontrados na literatura: correção de erros. aprendizado hebbiano, modelo de Linsker, regra de Oja. regra de Yuille e modelo de Kohonen.
2.2 Aprendizado supervisionado Este método de aprendizado é o mais comum no treinamento das RNAs, tanto de neurônios com pesos como de neurônios sem pesos. É chamado de aprendizado supervisionado porque a entrada e saída desejadas para a rede são fornecidas por uni supervisor (professor) externo. O objetivo é ajustar os parâmetros da rede, de forma a encontrar unia ligação entre os pares de entrada e saída fornecidos. A Figura 2.1 ilustra o mecanismo de aprendizado supervisionado. O professor indica explicitamente um comportamento bom ou ruim para a rede. visando a direcionar o processo de treinamento. A rede tem sua saída corrente (calculada) comparada com a saída desejada, recebendo informações do supervisor sobre o erro da resposta atual. A cada padrão de entrada submetido à rede compara-se a resposta desejada (que representa uma ação ótima para ser realizada pela rede) com a resposta calculada, ajustando-se os pesos das conexões para minimizar o erro. A minimização da diferença é incremental, já que pequenos ajustes são feitos nos pesos a cada etapa de treinamento, de tal forma que estes caminhem - se houver solução possível - para uma solução. A soma dos erros quadráticos de todas as saídas é normalmente utilizada como medida de desempenho da rede e também como função de custo a ser minimizada pelo algoritmo de treinamento. A desvantagem do aprendizado supervisionado é que, na ausência do professor. a rede não conseguirá aprender novas estratégias para situações nãocobertas pelos exemplos do treinamento da rede. Os exemplos mais conhecidos de algoritmos para aprendizado supervisionado são a regra delta [WH60] e a sua generalização para redes de múltiplas camadas, o algoritmo backpropagation [RHW86]. 16
Saída Professor
RNA Entrada
Erro
Figura 2.1: Aprendizado supervisionado.
O aprendizado supervisionado pode ser implementado basicamente de duas formas: off-line e on-line. Para treinamento off-line, os dados do conjunto de treinamento não mudam, e. uma vez obtida uma solução para a rede. esta deve permanecer fixa. Caso novos dados sejam adicionados ao conjunto de treinamento, um novo treinamento. envolvendo também os dados anteriores, deve ser realizado para se evitar interferência no treinamento anterior. Por sua vez, no aprendizado on-line, o conjunto de dados muda continuamente, e a rede deve estar em contínuo processo de adaptação. Nas seções seguintes, serão apresentadas noções gerais sobre métodos de correção de erros. No próximo capítulo será apresentado o primeiro modelo de RNAs que utilizou aprendizado supervisionado, o perceptron [Ros58].
^2.2.1^ Correção de erros A adaptação por correção de erros procura minimizar a diferença entre a soma ponderada das entradas pelo pesos (saída calculada pela rede) e a saída desejada, ou seja, o erro da resposta atual da rede. O termo e(t) do erro deve ser escrito como: e(t) = d(t) - y(t), onde d(t) é a saída desejada e y(t) é a resposta atual (calculada) no instante de tempo t. A forma genérica para alteração dos pesos por correção de erros é apresentada na Equação 2.1: wi(t + 1) = wi(t) +1)e(t)xi(t) 17
onde 17 é a taxa de aprendizado e xi (t) é a entrada para o neurônio i no tempo t: Segundo a Equação 2.1, o ajuste dos pesos deve ser proporcional ao produto do erro pelo valor de entrada da sinapse naquele instante de tempo. . Esta expressão aparece tanto no algoritmo de treinamento do perceptron [Ros58] quanto no algoritmo para treinamento do ADALINE [WH60] e posterior generalização para o algoritmo back-propagation [RHW86]. Para estes modelos, as equações de ajustes serão deduzidas nos capítulos seguintes, onde será mostrado também serem elas equivalentes à Equação 2.1. A dedução destas equações envolve a minimização da soma dos erros quadráticos das saídas, conforme apresentado na Equação 2.2:
Meio externo
Estado do meio externo 1
Resposta
RNA
Figura 2.2: Aprendizado não-supervisionado.
2.3) Aprendizado não-supervisionado
k F(w) = 1/2> ( di - yi(w))2
i=o onde k é o número de nodos de saída da rede, di é a saída desejada para o nodo i, e yt, a saída corrente da rede. Com relação à superfície de erro obtida através da Equação 2.2, dependendo do tipo de unidade de processamento utilizada para construir a rede, podem-se identificar duas situações diferentes: • A rede ser formada inteiramente por unidades de processamento lineares; nesse. caso, a superfície do erro é dada exatamente pela função quadrática dos pesos da rede, o que quer dizer que esta possui um único mínimo. • A rede ser formada por unidades de processamento não-lineares. Neste caso, a superfície do erro poderá ter, além do mínimo global, um ou mais mínimos locais. Em ambas as situações, o objetivo deste método de aprendizado é partir de um ponto arbitrário da superfície movendo-se até o mínimo global. Na primeira situação só existe um único mínimo global, já que se trata de uma superfície de erro quadrática, facilmente atingido a partir de qualquer ponto inicial sobre a superfície.' Na segunda situação, nem sempre o mínimo global é alcançado, já que saídas não-lineares geram superfícies de erro irregulares, podendo levar a rede a se estabilizar em um mínimo local indesejado. Apesar disso, existem técnicas de treinamento que levam a rede a se aproximar do mínimo global, como será visto nos capítulos seguintes. 'Na verdade, a forma da superfície pode se alterar, dependendo da correlação linear entre os dados de entrada, mas isto será objeto de estudo dos capítulos seguintes.
18
No aprendizado não-supervisionado, como o próprio nome sugere, não há um professor ou supervisor para acompanhar o processo de aprendizado. Este método está ilustrado na Figura 2.2. Apesar da semelhança entre o aprendizado supervisionado e o aprendizado dos seres humanos, muitos dos sistemas biológicos ocorrem através de aprendizado não-supervisionado, como por exemplo os estágios iniciais dos sistemas de visão e audição. Para estes algoritmos, somente os padrões de entrada estão disponíveis para a rede, ao contrário do aprendizado supervisionado , cujo conjunto de treinamento possui pares de entrada e saída . A partir do momento em que a rede estabelece uma harmonia com as regularidades estatísticas da entrada de dados, desenvolve-se nela uma habilidade de formar representações internas para codificar características da entrada e criar novas classes ou grupos automaticamente. Este tipo de aprendizado só se torna possível quando existe redundância nos dados de entrada . Sem redundância seria impossível encontrar quaisquer padrões ou características dos dados de entrada. A estrutura do sistema de aprendizado não-supervisionado pode adquirir uma variedade de formas diferentes. Ela pode, por exemplo, consistir em uma camada de entrada, uma camada de saída, conexões feedforward da entrada para a saída e conexões laterais entre os neurônios da camada de saída. Um outro exemplo é uma rede feedforward com múltiplas camadas, em que a livre organização procede na base de camada por camada. Nestes dois exemplos, o processo de aprendizado consiste em modificar repetidamente o peso sináptico de todas as conexões do sistema em resposta às entradas. Nas seções seguintes, serão apresentados alguns métodos para implementação de aprendizado nãosupervisionado.
í
19
2.3.1 Aprendizado liebbiano Os resultados obtidos por Hebb [Heb49] motivaram os primeiros métodos de aprendizado em RNAs. Confio originalmente postulado. a regra de aprendizado de Hebb propõe que o peso de uma conexão sináptica deve ser ajustado se houver sincronismo entre os "níveis de atividade" das entradas e saídas. Se dois neurônios, em lados distintos da sinapse, são ativados sincronamente, teremos um fortalecimento desta sinapse. Entretanto, se os neurônios forem ativados assincronamente, a sinapse será enfraquecida ou mesmo eliminada. Em outras palavras, se o neurónio pré-sináptico tiver grande influência na ativação do neurônio pós-sináptico, a conexão entre eles deve ser reforçada. A sinapse hebbiana possui quatro características principais:
Entrada
• Mecanismo in'eratit'o: dentro do aprendizado hebbiano. não se pode analisar atividades pré-sinápticas de forma isolada; qualquer modificação na sinapse hebbiana depende (estatística ou deterministicamente) da interação entre os dois tipos de atividade (pré e pós-sinápticos). • Meca.nism.o local: unia sinapse hebbiana é urna transmissão com sinais contínuos que produz modificações sinápticas locais que são entradas específicas. É a partir do mecanismo local que sinapses hebbianas efetuam o aprendizado não-supervisionado. • Mecanismo dependente do tempo: as modificações em uma sinapse hebbiana dependem do momento exato de ocorrência das atividades pré e pós-sinápticas. • Mecanismo correlacional ou conjuncional: a sinapse hebbiana pode ser chamada de sinapse conjuncional pelo fato de a ocorrência conjunta de atividades pré e pós-sinápticas ser suficiente para que haja uma modificação. Além disso, pode também ser chamada de sinapse correlacional porque unia correlação entre estas mesmas atividades também é suficiente para gerar mudanças. Pode-se expressar o postulado de Hebb em termos matemáticos a partir da seguinte equação, que consiste em uma regra para a mudança do peso sináptico wij (regra do produto de atividade): w( t) = ihyi ( t)xj(t) onde rl é uma constante positiva que determina a taxa de aprendizado.
(2.3)
Camada A
Camada B Camada C
Figura 2.3: Modelo de Linsker.
Apesar de os vetores de entrada e saída serem fornecidos (como no aprendizado supervisionado), a regra de Hebb é classificada como aprendizado nãosupervisionado, já que não existe supervisor externo para verificar a qualidade da resposta da rede para prover um ajuste de pesos. Neste caso, o treinamento da rede é feito independentemente da resposta atual da rede, através de um mecanismo local à sinapse.
2.3.2 Modelo de Linsker 0 modelo de Linsker foi proposto com o objetivo de modelar os primeiros estágios do sistema visual dos mamíferos [Lin88]. Utilizando uma abordagem de aprendizado baseada na regra de Hebb [Heb49], estas redes têm mostrado comportamento semelhante ao obtido pelo sistema visual humano. Assim como os nodos dos primeiros estágios do sistema visual, o modelo de Linsker, unia vez treinado, apresenta nodos especializados para, entre outras características, segmentos de retas em determinadas orientações. Como pode ser visto na Figura 2.3, a arquitetura da rede de Linsker é semelhante à estrutura do sistema visual dos mamíferos. Os nodos são organizados em camadas bidimensionais , CA, CB, Co,..., até uma camada de saída CY. A função de ativação utilizada é representada pela Equação 2.4:
20
21
2.3.3 Regra de Oja yj(t)
x i( t ) wji( t )
- a1 + i=1
onde yj(t) é a saída do nodo j, a1 é uma constante, wji é o peso da conexão entre o nodo j e sua entrada xi e n é o número de entradas ou nodos conectados à entrada do nodo j. O treinamento da rede de Linsker é realizado camada por camada. Utilizando como entrada padrões gerados aleatoriamente, cada camada atualiza os pesos de seu nodos utilizando uma regra hebbiana. Primeiro, os pesos dos nodos da camada A ajustam seus valores. Em seguida, o mesmo processo é repetido para os nodos da camada B, e assim por diante. Neste modelo, os pesos iniciais são escolhidos aleatoriamente. O ajuste dos pesos de cada nodo n j para cada padrão de entrada é definido pelos valores das entradas e pela saída produzida. A Equação 2.5 ilustra o cálculo do ajuste dos pesos: Owji(t) = a2xi ( t)yj(t) + a3xi ( t) + a4yj(t) +a;
(2.5)
onde os termos ai são constantes (a2 > 0). Admitindo que os pesos mudam lentamente de uma apresentação para outra, pode-se tirar uma média da Equação 2.5 após várias apresentações e utilizar a Equação 2.4 para obter a taxa de mudança de cada peso da rede, w, fornecida. após várias transformações algébricas, pela Equação 2.6.
.v
N [k1 + (k2 /N)
wij = Qikwkj + k=1
E
Como citado anteriormente, existe a necessidade de limitar o aumento no peso do vetor w (aprendizado segundo Hebb) para evitar sua saturação. Uma possível solução é a renormalização (wí = awi) de todos os pesos após cada atualização, garantindo, através da escolha de a, que IIw'II = 1. Entretanto, existe uma melhor solução (baseado em modificações da regra de Hebb), proposta por Oja [Oja82], em que é possível obter os mesmos resultados sem a necessidade de normalização. A regra de Oja possui a forma apresentada na Equação 2.8: Owi = 77y(xi - ywi) (2.8) onde y controla a taxa de aprendizagem, xi corresponde à entrada associada ao peso wi e y representa a saída do nodo. Esta regra é bem semelhante à de aproximação estocástica, e na realidade pode ser vista como um caso particular da mesma. Este algoritmo de aprendizado garante a convergência da rede. Oja apenas modificou a regra de Hebb com o objetivo de limitar os pesos, e Linsker restringiu os pesos wi para o intervalo w- < wi > w+.
2.3.4 Regra de Yuille Yuille, Kammen e Cohen [YKC89] propuseram a regra Owi
wkj]
k=1
onde k1 e k2 são constantes geradas pela combinação das constantes ai da Equação 2 . 5, Qik é a covariância das entradas i e k, que é definida pela Equação 2.7: Qik =< (xi(t) - x)(xk(t) - x > (2.7)
= y(yxi - IIwll2wi)
que faz w convergir para a mesma direção do autovetor máximo Àmar da regra de Oja, mas modificando Iiwil para assumir o valor amor [HKP91]. Este método tem a vantagem de ter uma função de custo associada e a desvantagem de ser uma regra não-local, ou seja, para se atualizar wi precisa-se de informação sobre outros w j's.
2.3.5 Aprendizado por competição
onde < ... > e a barra denotam a média.
Para evitar que os pesos assumam um valor muito elevado. é imposta uma constante de saturação. Esta constante define, para cada peso. um par de valores máximos: um negativo, w_, e outro positivo, wT.
22
Aprendizado por competição é um caso particular de aprendizado não-supervisionado [Fuk75, Kòh82, Gro76b]. A idéia neste caso é, dado um padrão de entrada, fazer com que as unidades de saída disputem entre si para serem ativadas. Existe, portanto, uma competição entre as unidades de saída para decidir qual delas será a vencedora e, conseqüentemente, terá sua saída ativada
1
23
e seus pesos atualizados no treinamento. As unidades de entrada são diretamente conectadas às unidades de saída, e estas últimas também podem estar ligadas entre si via conexões laterais inibitórias, ou negativas. A unidade de saída com maior ativação inicial terá maior chance de vencer a disputa das outras unidades, que perderão o poder de inibição ao longo do tempo sobre a unidade de maior ativação. A unidade mais forte fica ainda mais forte. e seu efeito inibidor sobre as outras unidades de saída torna-se dominante. Com o tempo. todas as outras unidades de saída ficarão completamente inativas. exceto a vencedora. Este tipo de inibição mútua também é conhecido como winner takes ali. Uni algoritmo simples de aprendizado competitivo é: 1. Apresentar um vetor de entrada. 2. Calcular a ativação inicial de cada unidade de saída. 3. Deixar as unidades de saída competirem até que apenas unia fique ativa. 4. Aumentar os pesos sobre as conexões entre a unidade de saída ativa e as unidades de entrada ativas. Com isso, a unidade de saída terá maior probabilidade de ficar ativa na próxima repetição do padrão. Um problema neste algoritmo é que uma unidade de saída pode se tornar dominante e ficar ativa todo o tempo, podendo captar para si todo o espaço de entradas. A solução para tal problema é racionar os pesos, de forma tal que a soma dos pesos sobre as linhas de entrada de uma unidade seja limitada a 1. Para aumentar o peso de uma conexão, é preciso diminuir o peso de alguma outra, conforme descrito na Equação 2.10: âwj = rixa/M - rlwJ
(2.10)
para todo j = 1, 2, ..., n, onde wj é o peso da conexão da unidade de entrada j com a unidade ativa, xj é o valor do j-ésimo bit de entrada. M é o número de unidades de entrada ativas no vetor de entrada e rl é a taxa de aprendizagem. Este algoritmo funciona bem em muitos casos, porém, às vezes, uma unidade de saída ganha sempre. Uma solução para este problema é a leaky learning [Gro87], que foi desenvolvida por Grossberg. O aprendizado por competição é a base do modelos ART de Grossberg [Gro87] e dos mapas de Kohonen [Koh82, Koh89], que serão vistos em detalhes mais adiante. 24
2.4 Aprendizado por reforço O aprendizado por reforço pode ser visto como uni caso particular de aprendizado supervisionado. A principal diferença entre o aprendizado supervisionado clássico e o aprendizado por reforço é a medida de desempenho usada em cada uni dos sistemas. No aprendizado supervisionado, a medida de desempenho é baseada no conjunto de respostas desejadas usando um critério de erro conhecido, enquanto no aprendizado por reforço o desempenho é baseado em qualquer medida que possa ser fornecida ao sistema. No aprendizado por reforço. a única informação de realimentação fornecida à rede é se unia determinada saída está correta ou não. isto é, não é fornecida à rede a resposta correta para o padrão de entrada. 0 aprendizado por reforço está ilustrado na Figura 2.4. O aprendizado por reforço é uma forma de aprendizado on-line obtido por um mapeamento de entrada-saída através de um processo de triagem e erro desenvolvido para maximizar o índice de desempenho escalar chamado sinal de reforço. 0 termo aprendizagem por reforço foi usado por Minsky [Min61] em seus estudos iniciais de IA. A idéia básica subjacente ao termo "reforço" tem sua origem em estudos experimentais sobre aprendizado dos animais [Ham90]. Neste contexto, é interessante lembrar a Lei do Efeito [Tholl], que diz que quanto maior a satisfação obtida com uma certa experiência em um animal, maiores as chances de ele aprender. Sutton [SB\V91] reformulou o que Thorndike disse na seguinte definição de aprendizado por reforço:
Se uma ação tomada pelo sistema de aprendizagem é seguida de estados satisfatórios, então a tendência do sistema de produzir esta ação particular é reforçada. Se não for seguida de estados satisfatórios, a tendência do sistema de produzir esta ação é enfraquecida.
O paradigma de aprendizagem por reforço pode ter: • Aprendizagem associativa: o meio fornece outras informações além cio reforço, e um mapeamento, na forma estímulo-ação, deve ser aprendido. • Aprendizagem não-associativa: o sinal de reforço é a única entrada que o sistema recebe do meio. O sistema seleciona uma única ação ótima, em vez de associar diferentes ações com diferentes estímulos.
25
saída, e mais uma vez a seqüência de entrada não depende do passado. Um representante para esta classe é o Julgador Heurístico Adaptativo [BSA83].
Crítico
• Classe III: Ambos os sinais de reforço e padrões de entrada podem depender arbitrariamente das saídas anteriores da rede. Representante desta classe é o Método de Diferença-Temporal [Sut88].
Reforço/Penalidade
2.5 Conclusão Ação
RNA Figura 2.4: Aprendizado por reforço.
2.4.1 Classes de aprendizado por reforço Como foi dito anteriormente, o aprendizado por reforço é uma forma de aprendizado supervisionado, já que a rede tem algum feedback do ambiente. Este feedback, que é um simples sinal de reforço ( sim/não), é apenas uma avaliação do desempenho da rede, e não fornece qualquer informação instrutiva de como proceder para melhorar o desempenho. Muitas vezes, este método de aprendizado é chamado aprendizado com crítica em vez de aprendizado com professor. Quando o sinal de reforço diz que uma saída está errada, ele não dá nenhuma sugestão de qual poderia ser a resposta certa. Dependendo da natureza do ambiente, existem algumas classes de problemas de aprendizado por reforço: • Classe I: No caso mais simples, o sinal de reforço é sempre o mesmo para um dado par de entrada-saída. Com isto existe um mapeamento definido para cada entrada-saída que a rede deve aprender, ou pelo menos um, se houver muitas saídas corretas para uma dada entrada. Os padrões de entrada são escolhidos aleatoriamente ou pelo ambiente, sem, no entanto, nenhuma referência às saídas anteriores. Um representante para esta classe é a Função de Avaliação, como descrito em [Hay94].
Neste capítulo foram apresentados os principais métodos de aprendizado e vários mecanismos de aprendizado encontrados na literatura. No decorrer do capítulo foram destacadas as principais diferenças entre os métodos de aprendizado. O capítulo seguinte descreverá threshold gates e os modelos perceptron e ADALINE.
2.6 Exercícios 1. Descreva as vantagens e desvantagens do aprendizado supervisionado e do aprendizado não-supervisionado. 2. Qual a diferença entre aprendizado supervisionado e aprendizado por reforço? 3. Qual a diferença entre aprendizado não-supervisionado e aprendizado competitivo? 4. O aprendizado supervisionado pode ser implementado off-line ou on-line. Discuta as implicações físicas de cada uma destas possibilidades. 5. A regra delta descrita pela Equação 2.2 e a regra de Hebb descrita pela Equação 2.4 representam dois métodos diferentes de aprendizado. Listar as características que distinguem estas regras uma da outra.
• Classe IL Uma extensão comum é para um ambiente estocástico. Aqui um par de entrada-saída determina apenas a probabilidade de um reforço positivo. No entanto, essa probabilidade é fixa para cada par de entrada26
27
Capítulo 3
Redes Perceptron e Adaline 3.1 Introdução Neste capítulo serão abordados o modelo perceptron de uma única camada [Ros58] e as redes lineares do tipo Adaline [\V'H60], tendo em vista suas capacidades computacionais, aplicações e algoritmos de treinamento. Devido à sua importância histórica, unia breve introdução às portas de limiar (threshold gates) é apresentada nas seções iniciais. Nas seções relativas às portas de limiar serão descritos os modelos linear e quadrático [1Iur71]. O modelo linear. que na realidade corresponde ao modelo clássico MCP ['l\IP43], possui capacidade computacional limitada a funções linearmente separáveis, ou funções de limiar. Para entradas booleanas (x e {0, 1}"). as funções de limiar correspondem a um pequeno subconjunto do total de funções booleanas possíveis. Por sua vez, a porta de limiar quadrática é capaz de resolver problemas mais complexos, já que possui uri maior número de parâmetros livres ajustáveis. As questões básicas relativas ao modelo perceptron [Ros62] serão abordadas inicialmente através da descrição do algoritmo de treinamento por correção de erros descrito por Rosenblatt [Ros62]. Será também demonstrado o teorema de convergência do perceptron, que mostra que o algoritmo de treinamento sempre encontra unia solução em um número finito de iterações caso as classes em questão sejam linearmente separáveis. Como uma continuação natural da descrição do perceptron, será descrito o modelo Adaline proposto por Widrow e Hoff [\VH60]. Este modelo também 29
utiliza o nodo MICP [MP43] como unidade básica, porém ó treinamento da rede é feito através do cálculo do gradiente do erro quadrático da saída em relação aos pesos do nodo. O modelo Adaline também se diferencia do perceptron pelo fato de que o erro de saída é calculado em relação à sua saída linear, e não em relação à saída não-linear, como no perceptron e na maioria dos algoritmos de treinamento de RNAs.
3.2 Portas de limiar As portas do tipo limiar (threshold gates) [Mur71] podem ser divididas em três tipos: linear , quadrática e polinomial. A função executada por cada uma delas é basicamente a mesma : comparação da soma ponderada das entradas com um valor de limiar (threshold). Caso a soma exceda o limiar, a saída é ativada, permanecendo desativada em caso contrário. No entanto, estes modelos diferem entre si pela complexidade com que seus pesos são calculados. Quanto mais complexos os termos associados a cada um dos pesos, mais complexas as superfícies que podem ser formadas no espaço n-dimensional e maior flexibilidade possui a porta na solução do problema de mapeamento. A seguir serão descritas as portas de limiar linear e quadrática.
y _{1 r- wixi > 9 0 r- wixi
Na forma descrita na Equação 3.1, as portas de limiar lineares estão restritas à solução de problemas que sejam linearmente separáveis, ou seja, a problemas cuja solução pode ser obtida pela separação de duas regiões por meio de uma reta (ou um hiperplano para o caso n-dimensional). A questão da separação linear pode ser facilmente visualizada para o caso bidimensional. Considere, como exemplo ilustrativo, um nodo de duas entradas xl e x2, pesos wl e W2, limiar 9 e saída y executando uma função qualquer. A condição de disparo do nodo (y = 1) é então definida por X1 W1 +x2w2 = 0, que pode então ser descrita na forma geral da equação de uma reta onde x2 = f (xl ), conforme mostra a Equação 3.2. Portanto, a superfície de decisão de uma porta de limiar linear está restrita a uma reta, ou um hiperplano para o caso n-dimensional. A Figura 3.2 mostra a solução para o problema do E lógico através de uma porta de limiar linear.
X2 -(w2^x1+(
3.2.1 Portas de limiar lineares As portas de limiar lineares ( linear threshold gates) são definidas de forma semelhante ao nodo MCP, conforme mostrado na Figura 3.1 e em sua descrição formal na Equação 3.1.
x2 =-x1+1,5 Figura 3.2: Solução para o problema do E através de unia porta de limiar linear. Para este caso, tem-se w1 = w2 1 e 9 = 1, 5.
Figura 3.1: Porta de limiar linear.
30
Para o caso particular em que x E {O,1}", que restringe as entradas a valores binários, tem-se que y : {O, 1}" {O. 1} para w E R". Apesar de 1
31
estarem limitadas à resolução de problemas linearmente separáveis , que correspondemi a unia pequena parcela do total de 22" funções booleanas possíveis com n entradas , as portas de limiar lineares são mais poderosas do que as portas lógicas convencionais . Com unia mesma porta de limiar linear podese implementar qualquer uma das funções E, OU, NAO-E e NÃO-OU, entre outras, bastando mudar os parâmetros da porta. Porém, como será discutido mais adiante . para a implementação de funções não-linearmente separáveis como OU-EXCLUSIVO serão necessárias pelo menos duas camadas de portas de limiar lineares.
entrada (parâmetros livres) definem a importância de cada uni destes termos na definição da superfície de decisão. A capacidade de a porta quadrática definir regiões de decisão mais complexas pode ser mais facilmente visualizada por um exemplo. De maneira análoga ao exemplo apresentado para a porta linear, considere uma porta quadrática com duas variáveis de entrada xl e x2 para a qual a condição de disparo do nodo (y = 1) é então definida por x2W11 +X 2 W22 + XIx22L'12 + 12x1W21 + xiw.C'1 + x2w2 = O. Durante o processo de aprendizado, a porta de limiar adapta os valores dos pesos de forma a definir a superfície de decisão apropriada para o problema. A solução para a superfície de decisão acima pode ser obtida atribuindo-se valores para unia das duas variáveis, xi por exemplo, e resolvendo-se a equação de segundo grau
3.2.2 Portas de limiar quadráticas
resultante para a outra variável. Em outras palavras, para valores fixos de
Para valores grandes de n. a relação entre o número de funções linearmente separáveis e o número total de funções booleanas tende a zero , restringindo assim a utilização das portas lineares [Has95 ]. Para aumentar a capacidade computacional das mesmas , a porta de limiar quadrática é então definida conforme mostrado na Figura 3.3 e em sua descrição formal na Equação 3.3:
.r1, a equação de decisão se transforma em unia equação de segundo grau com duas soluções possíveis para a variável r.2. Considerando-se que x E R" e os parâmetroswi =1,w2=1.w11 =5.w22=5,W12=w21 =1eO=1.a solução encontrada para a superfície de decisão correspondente é mostrada na Figura 3.4.
1 E w; x; + I w;ix;xj > B
y = (3.3) 0 r- uw; x; + w,jx; xj < 0
Classe 1 y=1
Classe 0 y=0
-0S
0 X^
OS
Figura 3.4: Região de decisão para duas classes CI e C2 para uma porta quadrática com duas entradas em que wl = 1, w2 = 1, w11 = 5, W22 = 5,
nIX,
W12=W21=1e0=1.
Figura 3.3: Porta de limiar quadrática.
O termo adicional na Equação 3.3 confere à porta de limiar quadrática um maior poder computacional, já que a mesma possui um número maior de parâmetros livres ajustáveis. Como pode ser visto na Equação 3.3, a porta quadrática possui termos quadráticos em cada uma das variáveis de entrada, além de termos com produtos cruzados entre cada uma delas. Os pesos de 32
A superfície de resposta para o nodo com os parâmetros apresentados na Figura 3.4 é apresentada na Figura 3.5 para valores de xi e x2 variando entre -1 e +1. Como pode ser observado pelas respostas do nodo. há duas regiões de resposta, ou duas classes, claramente definidas, sendo que para unia delas o nodo responde com y = 0 (região dentro da elipse) e para a outra com y (região externa à elipse).
33
3.3 Perceptron
Figura 3.5: Resposta da porta quadrática de duas entradas com os parâmetros W1 = 1, u'2 = 1, W11 = 5, W22 = 5, W12 = W21 = 1 e 9
Como mostrado nos exemplos anteriores, a adição de um número maior de parâmetros livres confere maior flexibilidade às soluções possíveis obtidas através de uma porta de limiar. Portas que possuem termos mais complexos para os pesos do que as portas quadráticas são conhecidas como portas de limiar polinomiais [b/ur71] que, segundo Nilsson [Ni165], são mapeadores universais de funções booleanas de n variáveis. A relação entre o número de parâmetros livres e o poder computacional das RNAs, conceito introduzido nas duas últimas seções, é um parâmetro fundamental na definição da topologia de rede para a solução de um determinado problema de mapeamento. Uma rede com um número muito reduzido de parâmetros pode não possuir a flexibilidade necessária para se alcançar a solução desejada. Por outro lado, uma rede com um número muito grande de parâmetros pode estar superdimensionada e, conseqüentemente, ser excessivamente flexível, resultando em estimativas indesejáveis para pontos fora do conjunto de treinamento.' O equilíbrio entre o desenvolvimento de um modelo que não resulte em generalização pobre devido ao superdimensionamento e que, por outro lado, seja suficientemente flexível para resolver de maneira fiel o problema de mapeamento é conhecido na literatura como o dilema entre a polarização e a variância [GBD9212 e tratado em mais detalhes nos capítulos seguintes. S a literatura em inglês de RNAs, a generalização pobre devido ao número excessivo de parâmetros é conhecida como overfitting. 2 Bias and variante dilemma.
34
0 trabalho original de McCulloch e Pitts [MP43] enfocou o modelamento de um neurônio biológico e sua capacidade computacional com a apresentação de vários exemplos de topologias de rede com capacidade de execução de funções booleanas. Naquela época surgiam os primeiros computadores digitais, e entende-se que a associação de um modelo artificial de um neurônio biológico com funções booleanas estava provavelmente ligada ao pensamento então vigente de que era possível construir uma máquina inteligente por meio de operadores lógicos básicos. Foi somente com o trabalho de Frank Rosenblatt, em 1958 [Ros58], que o conceito de aprendizado em RNAs foi introduzido. O modelo proposto por Rosenblatt, conhecido como perceptron [Ros58], era composto por uma estrutura de rede, tendo como unidades básicas nodos 1ICP, e por uma regra de aprendizado. Alguns anos mais tarde, Rosenblatt demonstrou o teorema de convergência do perceptron, que mostra que um nodo I'ICP treinado com o algoritmo de aprendizado do perceptron sempre converge caso o problema em questão seja linearmente separável [Ros62]. A topologia original descrita por Rosenblatt era composta por unidades de entrada (retina), por um nível intermediário formado pelas unidades de associação e por um nível de saída formado pelas unidades de resposta. Embora esta topologia original possua três níveis, ela é conhecida como perceptron de uma única camada, já que somente o nível de saída (unidades de resposta) possui propriedades adaptativas. A retina consiste basicamente em unidades sensoras, e as unidades intermediárias de associação, embora formadas por nodos MCP, possuem pesos fixos, definidos antes do período de treinamento. A Figura 3.6 mostra um esboço da topologia do perceptron. Apesar de ter causado grande euforia na comunidade científica da época, o perceptron não teve vida muito longa, já que as duras críticas de Minsky e Papert [MP69] à sua capacidade computacional causaram grande impacto sobre as pesquisas em RNAs, levando a um grande desinteresse pela área durante os anos 70 e início dos anos 80. Esta visão pessimista da capacidade do perceptron e das RNAs de uma maneira geral mudou com as descrições da rede de Hopfield em 1982 [Hop82] e do algoritmo back-propagation em 1986. Foi em conseqüência destes trabalhos que a área de RNAs ganhou novo impulso, ocorrendo. a partir do final dos anos 80, uma forte expansão no número de trabalhos de aplicação e teóricos envolvendo RNAs e técnicas correlatas.
1
35
Retina Associação Resposta
mente, a condição crítica de disparo do nodo é w' • x' = 0, ou w' . x' - 0 = 0, o que é equivalente a se adicionar um peso com valor -0 às entradas do nodo e conectá-lo a uma entrada com valor fixo xi = 1.
A nova condição crítica
de disparo passa então a ser w • x = 0, onde w = {-B, wl, w2, • • • , w„ }T e x
}T = { 1 x] X,), X,1
3
Considere agora o par de treinamento {x, d} para um nodo arbitrário da rede, onde x é o vetor de entrada do nodo e d a saída desejada para a entrada x. A saída atual da rede será chamada simplesmente de y, podendo-se então definir o erro devido à saída atual como sendo e = d - y. Para o caso do perceptron, tem-se sempre que y E {O. 1} e d E {0, 1}, podendo, portanto, haver apenas duas situações possíveis para as quais e 0: d = 1 e y = 0, ou d = 0 e y = 1.
Figura 3.6: Topologia de uni perceptron simples com uma única saída.
3.3.1 O algoritmo de aprendizado do perceptron Unia RNA é composta por um conjunto de nodos com capacidade de processamento local e independente dos demais e uma topologia definindo a forma como estes nodos estão conectados e uma regra de aprendizado . Como descrito na seção anterior , o perceptron é formado por nodos MCP [MP43] e pela topologia de rede descrita na Figura 3.6. Nesta seção, será descrita a regra de aprendizado do perceptron , que permite a adaptação dos seus pesos de forma que a rede execute uma determinada tarefa de classificação. De uma maneira geral, durante o processo de adaptação, ou aprendizado, o que se deseja obter é o valor do incremento Ow a ser aplicado ao vetor de pesos w de tal forma que o seu valor atualizado w(t + 1) = w(t) + Ow esteja mais próximo da solução desejada do que w(t). Portanto, os algoritmos de aprendizado em RNAs visam ao desenvolvimento de técnicas para a obtenção do valor de Aw mais apropriado para a obtenção da solução do problema em questão. Considerando um nodo arbitrário da camada de resposta de um perceptron e seus vetores de entrada x' e de pesos w', sua ativação é dada por >iw'ix'i = w' x', onde w' • x' representa o produto interno entre w' e x'. Conseqüente36
Para a primeira situação (d = 1 e y = 0), tem-se que e = 1 e w • x < 0, já que y = 0, o que implica que 1 Jwi 1 • I IxI Icos(w, x) < 0. Conseqüentemente, tem-se que cos(w. x) < 00 e a(w. x) > 90°, onde a é o ângulo entre os vetores w e x. O diagrama apresentado na Figura 3.7 ilustra melhor a situação relativa dos vetores w e x no espaço. Para esta condição, pode-se observar também na figura que uma modificação plausível no vetor w em busca da solução seria soniá-lo a um vetor que estivesse na direção de x como o vetor nx indicado. Assim, Aw = rqx e w(t + 1) = w(t) + rtx. Porém. como e = 1. a equação de atualização de w pode ser escrita de uma forma mais conveniente: w(t+1) = w(t)+i7ex. A constante r/ é uma medida da rapidez com que o vetor de pesos será atualizado, sendo comumente chamada de taxa de aprendizado. Para valores pequenos de r), algumas iterações podem ser necessárias para se chegar à solução indicada na Figura 3.7. Para a segunda situação em que d = 0 e y = 1, pode-se obter a regra de atualização do vetor de pesos de maneira análoga à situação anterior. Para este caso, tem-se então e = -1 e Iw1 • ixlcos(w, x) > 0, o que implica que a(w,x) < 90. Para que y = d = 0, o vetor de pesos deve ser modificado de forma tal que se obtenha a(w, x) > 90. Conseqüentemente, unia regra de atualização plausível para este caso seria w(t + 1) = w(t) - r¡x. Como e = -1 para este caso, a regra de atualização pode ser escrita também na forma: w(t + 1) = w(t) + i)ex. Para as duas situações possíveis (d = 1 e y = 0 ou d = 0 e y = 1) chegou-se à mesma expressão para a regra de atualização 3A partir deste ponto, considere sempre que w e x correspondem às versões modificadas dos vetores de pesos e de entrada.
37
o h
e e
0 1
rl = {(xi,1)}?1 1 E C1 e F2 = {( xi, 0)}^? 1 E C2, tal que r = ri U r2 e pl + P2 = p. Admite-se então que existe solução w0 tal que:
wo xi
Figura 3.7: Posição relativa dos vetores w e x para a situação d = 1 e y = 0.
dos pesos, que pode então ser escrita como a equação geral para atualização dos pesos de um nodo de um perceptron simples (Equação 3.4). Na próxima seção, será demonstrado o teorema da convergência do perceptron, que mostra que a atualização dos pesos pela Equação 3.4 leva sempre a uma solução caso as classes em questão sejam linearmente separáveis. w(t + 1) w(t) + r7ex(t)
3.3.2 Teorema da convergência Conforme mostrado na seção anterior, a Equação 3.4 define a direção de atualização do vetor de pesos em busca da solução para um único vetor de entrada x. Porém, quando um número maior de vetores é apresentado à rede e são feitas atualizações sucessivas para cada um deles, modificações em w para um vetor x` qualquer poderão alterar a resposta da rede para um outro vetor xJ Em outras palavras, como se procura por um único vetor que seja solução para o problema de classificação, há dependência entre operações sucessivas de atualização de pesos. Nesta seção será demonstrado que, apesar desta dependência, a atualização dos pesos pela Equação 3.4 sempre leva a uma solução em um tempo finito caso os vetores do conjunto de treinamento pertençam a duas classes linearmente separáveis. Considere então, para efeito da demonstração que se segue , que o conjunto de treinamento para um nodo qualquer da camada de resposta seja dividido em duas classes linearmente separáveis Cl e C2. O conjunto de treinamento de p elementos r = {(x', yt')}p 1 pode então ser dividido em dois subconjuntos 38
O problema do treinamento se resume então a achar w0 que seja solução para a separação das duas classes Cl e C2. Durante o treinamento, ocorrerão as atualizações nos pesos apresentadas nas Equações 3.7 e 3.8: w(t + 1) = w(t ) + 77x(t) se wT (t)x(t) < 0 e x(t) E Cl (3.7) w(t + 1) = w (t) - 77x(t) se wT (t)x(t) > 0 e x(t ) E C2 (3.8) onde x(t) representa o elemento do conjunto F, pertencente a r1 ou r2, apresentado à rede no instante t. Para efeitos da dedução que se segue, torna-se irrelevante o fato de x(t) pertencer à classe C1 ou C2. Também para fins de simplicidade nas deduções, o teorema será provado para o caso em que r7 = 1 e w(1) = 0, já que os valores de r7 e w(1) não afetam a separabilidade das classes C1 e C2 e, conseqüentemente, não alteram o problema de separação. O valor de 77 influencia somente o tempo de convergência, e não a existência ou não de uma solução, o mesmo ocorrendo para a condição inicial w(1). Suponha agora que w classifique de forma incorreta t1 vetores da classe C1 e t2 vetores da classe C2, onde o instante de tempo atual t é equivalente à soma de ti e t2 (t = ti + t2). Os vetores da classe Cl são apresentados à rede nos instantes de tempo Ti = {ti }L! 1 , e os elementos da classe C2, nos instantes de tempo T2 = {t2}i? 1. Segundo as Equações 3.7 e 3.8 e considerando r/ = 1 e w(1) = 0, obtém-se a Equação 3.9 mostrada a seguir. ti
t2
w(t + 1) _ x(ti) - x(tt) (3.9) i=1 j=1
Como Cl e C2 são duas classes linearmente separáveis, podemos afirmar que existe uma solução w0 tal que wÇ x(t) > 0 para x(t) E C1 e wÇ x(t) < 0 39
para x(t) E C2. Multiplicando-se ambos os termos da Equação 3.9 por wTo . obtém-se a Equação 3.10. chegando-se finalmente à Equação 3.11:
wów(t+1)=
x(tl) -
o
(t)
o
i=1
(3.10)
j=1
w(w(t + 1 ) = wo x(t) ( 3.11) Para uma solução fixa w0. podemos definir uni número a tal que a =
min [wt^ x(t )] . Portanto . tens-se que w0 x(t + 1 ) > ta ou (wó w(t + 1) ) 2 > t2a2. Podemos concluir também , pela inequação de Cauchy-Schwarz [Leo94]. que., para os dois vetores w0 e w(t+l ) a inequação IIwoI12IIw(t + 1)112 > (wó uQ + 1))2 é também válida. o que nos leva às
Equações 3.12 e
O erro e na Equação 3.15 pode assumir dois valores possíveis, conforme já discutido anteriormente: e = 1 (para d = 1 e y = 0) ou e = -1 (para d = 0 e y = 1). Para e = 1 tem-se que wT (t)x(t) < 0, o que implica que
Ilw(t)112 + IIx112 >_ IIw(t)112 + ellx(t)112 + 2ewT (t)x(t), que é também verdade
para a situação em que (e = -1), já que para esta segunda situação tem-se wT (t)x(t) > 0 . Conseqüentemente podemos concluir as relações descritas nas Equações 3.16 e 3.17:
IIw(t + 1)112 < IIw(t)112 + IIx(t)112
(3.16)
IIw(t+ 1)112 - Ilw(t)112 < IIx(t)112
(3.17)
Somando os t primeiros termos em ambos os lados da Equação 3.17, podemos escrever então a Equação 3.18:
3.13 t
apresentadas a seguir:
lIw(t +1)112 < Ilx(i)112 lwoll211w(t + 1)112 >
t2a2
t' a' 9 IIw(t + 1) 11 ?
1Iwo11'-
(3.12)
(3.18)
i=1
Definindo agora /3 como /0 = max llx(i)112, podemos escrever uma se1=1.2.....t gunda condição limite para o vetor l lw(t + 1)11 na Equação 3.19:
(3 . 13)
Como os termos a22 e l Iwo (12 são constantes, a tradução da Equação 3.13 para a dedução corrente é de que a norma ao quadrado do vetor de pesos varia pelo menos de forma quadrática com o tempo t. Para que haja convergência, é preciso que a norma de w(t + 1) seja limitada, o que será demonstrado a seguir. Como i = 1. a equação geral de atualização dos pesos ( Equação 3 . 4) pode ser escrita então como : w(t + 1) = w(t) + ex(t). Obtendo-se a norma dos dois lados desta equação e elevando-se também ambos os lados ao quadrado , tem-se que llw(t + 1)112 = 11w(t) + ex ( t)112, cuja expansão resulta nas Equações 3.14 e 3.15:
IIw(t+1)112 = [wl(t)2+w2(t)2+...+wn(t)2]+e[x1(t)2+x2(t)2+...+7i1a(t)2]+ 2e [w1(t)x1(t) +W2(t)X2 (t) + - • • + w17 (t)x„ (t)]
(3.14)
1lw(t + 1)112 = 1 Iw(t)112 + eI Ix(t)112 + 2ewT (t)x(t)
(3.15)
l Iw(t + 1)112 < /3t (3.19) As duas condições para llw(t + 1)11 descritas pelas Equações 3.13 e 3.19 na verdade implicam a existência de um limite t para as operações de ajuste, já que a solução destas duas inequações resulta em 0 < t < 31 t . Portanto. z
podemos concluir que o número de iterações é limitado por t = '3^W" o que implica finalmente que o algoritmo sempre converge em um tempo finito, como se queria demonstrar.
3.3.3 Implementação do algoritmo de treinamento do perceptron Como visto na seção anterior, o algoritmo de treinamento do perceptron sempre chega a uma solução para o problema de separação de duas classes linearmente separáveis em um tempo finito. Nesta seção será apresentado um exemplo de aplicação deste algoritmo a um problema de reconhecimento de padrões. De uma maneira geral, o algoritmo de treinamento para um nodo de uni perceptron simples4 pode ser descrito da seguinte forma: 4Observe que o mesmo algoritmo será aplicado a todos os nodos da rede, por isso basta n sua descrição para apenas um rodo.
40
41
o
Tabela 3.1: Valores sucessivos de wT (t) obtidos após a atualização dos pesos para x1 e x2. A solução encontrada w [0.050 0.025 0.010 - 0.025 0.0451T resulta em y = 1 para x1 e y = 0 para x2, como desejado.
Tempo t=0 t=1 t=2 t=3 t=4
w (t) 0.0000 0.0000 0.0000 0.0000 0.0000 0.0500 -0.0050 -0.0100 0.0150 0.0450 0.0000 -0.0100 0.0100 -0.0200 -0.0450 0.0500 -0.0150 0.0000 -0.0050 0.0000 0.0000 -0.0200 0.0200 -0.0400 -0.0900
t=5
0.0500 -0.0250 0.0100 -0.0250 -0.0450
1. Inicializar rl e o vetor de pesos w; 2. Repetir; 3. Para cada par do conjunto de treinamento r = {(x', yd)}i 1 3.1 Atualizar o vetor de pesos para cada um dos nodos da rede segundo a regra w(t + 1) = w(t) + rlex(t); 4. Até e = 0 para todos os p elementos do conjunto de treinamento em todos os nodos da rede.
3.4 Adaline O modelo Adaline [WH60], chamado inicialmente de (ADAptive LINear Element) e posteriormente de ADAptive LInear NEuron, depois da popularização de sua regra de aprendizado dentro da área de RNAs, surgiu na literatura quase que simultaneamente com o perceptron [Ros58]. Ambos os modelos são baseados na idéia de ter-se elementos de processamento executando operações de soma ponderada e posterior comparação com um valor de limiar, porém esses trabalhos surgiram em áreas diferentes com enfoques diferentes. Frank Rosenblatt, por ser psicólogo, divulgou a descrição do perceptron [Ros58] em uma revista de psicologia, enquanto Bernard Widrow enfocou a descrição do Adaline [WH60] dentro do contexto de processamento de sinais em uma conferência do então IRE (Institute of Radio Electronics), hoje IEEE (Institute of Electrical and Electronic Engineers). O algoritmo de treinamento descrito por Widrow e Hoff [WH60] é conhecido como regra delta e tem extrema importância na área de RNAs, já que deu origem ao algoritmo back-propagation para treinamento de perceptrons de múltiplas camadas. O modelo Adaline, que possui saídas binárias bipolares (y E [-1, +1] ), tem seus pesos adaptados em função do erro de sua saída linear (y = >i wixi), antes da aplicação da função de ativação, daí o nome ADAptive LInear NEuron. Isto leva a uma função de custo a ser minimizada que é quadrática nos pesos de entrada wi, o que é bastante conveniente para a minimização pelo método do gradiente, como será visto na próxima seção. A Figura 3.8 mostra um diagrama esquemático de um nodo Adaline. Como pode ser visto, o ajuste dos pesos é feito em função do erro da saída linear.
3.4.1 Atualização dos pesos pelo método do gradiente Suponha, por exemplo, que um único nodo com 4 entradas seja treinado para separar duas classes representadas pelos vetores x1 = [-1 -0,1 0,4 -0, 7 -1, 8]T e x2 = [-1 O. 1 0, 2 -0,3 -0. 9]T. Como se trata de duas classes representadas por apenas dois vetores, podemos afirmar que as mesmas são linearmente separáveis. e um único nodo será suficiente para resolver o problema de classificação. Considere, para efeitos de resolução deste problema, que ,g = 0, 05 e w(0) = [0 0 0 0 0]T.5 A aplicação do algoritmo de treinamento do perceptron resulta na seqüência de valores para w(t) indicados na Tabela 3.1 até a obtenção da solução final w(5) = [0.050 - 0,025 0, 010 . 0,025 -0, 045]T. 'Observe que tanto os vetores de entrada x' e x2 são considerados em suas versões aumentadas com x(1) = -1 e w(1) = B.
42
Como visto no algoritmo de treinamento do perceptron, descrito nas seções anteriores, somente há ajuste nos pesos quando e 0 -i Aw 0 0. O algoritmo de treinamento do nodo Adaline trabalha de forma semelhante, tentando minimizar o erro das saídas em relação aos valores desejados d' pertencentes ao conjunto de treinamento 1' = { (xi, d')}1. A função de custo a ser minimizada é a soma dos erros quadráticos descrita na Equação 3.20:
J=2
P
>(di i=1
_ yi)2 (3.20)
Para uma condição inicial qualquer w(0) = wi deseja-se obter a direção do ajuste a ser aplicado no vetor de pesos de forma a caminhar em direção à solução ótima. Para a superfície de erro definida pela Equação 3.20, a direção
1
43
w(t + 1) = WA.(t) + lJex(t) (3.26) Como pode ser observado nas Equações 3.4 e 3.26, as regras de aprendizado para o perceptron e para o nodo Adaline são na realidade idênticas. Porém, cabe reforçar que, conforme demonstrado neste capítulo, elas foram obtidas para nodos com estruturas diferentes e para condições diferentes de ajuste. A equação de ajuste para o nodo Adaline foi obtida para a saída linear do nodo. enquanto a equação de ajuste do perceptron foi obtida para a saída do nodo após a aplicação da função de ativação.
3.4.2 Visão gráfica do processo de aprendizado Figura 3.8: Diagrama esquemático de um nodo Adaline.
do ajuste no tempo t pode ser obtida pelo gradiente da função de custo no ponto w(t). Segundo esta regra. o ajuste deve ser feito em direção contrária ao vetor gradiente no ponto w(t), ou seja, Aw(t) a -VJ. Os componentes do vetor gradiente podem então ser definidos pelas Equações 3.21. 3.22 e 3.23:
ai _ ai ay
a wi ai aw i
ay awi
= -xi (d - (wo + wlxi + w2x2 + • • • + w71xr ))
aJ
awi -xie
Para exemplificar o processo de aprendizado de um nodo Adaline através de um processo que possa ser visualizado graficamente, considere um nodo com apenas uma entrada x associada a um peso w e um único termo de polarização b. Como os parâmetros da rede são apenas o peso w e o termo de polarização b, a superfície de erro pode ser visualizada por meio de uni gráfico em três dimensões, como será mostrado a seguir. Considere também que o conjunto de treinamento. possui apenas dois pares definidos como I' = {(0.2, 0.9), (-1.5.0.3)}. Para este conjunto de treinamento, a superfície de erro apresentada na Figura 3.9 pode ser obtida.
(3.21)
(3.22)
(3.23)
Portanto , para que se tenha o vetor de pesos ajustado em direção contrária ao vetor gradiente, chega-se às equações de ajuste descritas - a seguir:
Owi oc exi
(3.24)
Awi = mexi
(3.25)
onde 77 é uma constante de proporcionalidade que define a rapidez com que o vetor de pesos é modificado, sendo também chamado de taxa de aprendizado da rede. Finalmente, a Equação genérica 3.26 para ajuste dos pesos de um nodo Adaline, conhecida como regra delta, pode ser obtida (Equação 3.26): 44
Figura 3.9: Superfície de erro para o conjunto de treinamento r = {(0.2, 0.9), (-1.5, 0.3)}. O ponto (wo, bo) está no mínimo da função e define a solução ótima.
45
Portanto, a solução ótima para os parâmetros da rede se encontra no mínimo da superfície apresentada na Figura 3.9. O algoritmo-de treinamento deve então ajustar os valores de w (peso) e b (termo de polarização) de forma a caminhar na superfície em busca deste mínimo. Para a condição inicial de w = -1.5 e b = 1.5, a Figura 3.10 apresenta a trajetória aproximada sobre a superfície de erro projetada sobre o plano contendo as curvas de nível correspondentes. A simulação foi realizada com um valor pequeno de rl (77 = 0.01) com o objetivo de obter uma variação suave no treinamento da rede. A soma dos erros quadráticos para o conjunto de treinamento I' foi de 1.57 • 10-2 em 200 ciclos de treinamento.6 Se fosse permitido à rede um maior número de iterações (ciclos) para se aproximar mais do mínimo da superfície, certamente a soma dos erros quadráticos teria sido menor.
aprendizado em RNAs. Apesar de estes algoritmos terem sido deduzidos de forma diferente, as expressões para as suas regras de atualização dos pesos são bastante similares: Ow = rlex. Isto mostra a. equivalência entre os dois modelos, apesar de o algoritmo do perceptron ter sido descrito baseado no erro da saída não-linear, e o Adaline, na saída linear. O capítulo seguinte descreverá a extensão destes modelos para redes multicamadas.
3.6 Exercícios Implementar um discriminador de dois caracteres utilizando um único nodo MCP e regra delta (regra de aprendizado dos perceptrons) por meio de um programa de computador. O nodo MCP, com n entradas, deverá discriminar os caracteres T e H descritos na forma de uma matriz i por j, onde ij = n. Usar n pelo menos igual a 9 (onde i = j = 3). O nodo deverá ser treinado para responder com 1 quando o vetor de entrada for igual a T e 0 quando for igual a H. Fornecer os seguintes resultados: 1. Curva de erro do nodo durante o aprendizado (definir uma função de ativação para o nodo usando uma função do tipo ou sigmóide); 2. Respostas do nodo quando a entrada for igual a T e H; 3. Comentar a capacidade de generalização da rede: qual a resposta para' caracteres não-conhecidos? Testar com os caracteres T e H distorcidos.
-2 -1.5 -1 -0.5 0 0.5 1 1.5
w Figura 3.10: Variação dos parâmetros do nodo durante o processo de treinamento.
3.5 Conclusão Neste capítulo foram - apresentados os modelos históricos perceptron e Adaline. Após a apresentação , no capítulo anterior , das principais técnicas de aprendizado , os algoritmos de aprendizado do perceptron e a regra delta para Adaline foram descritos neste capítulo como os primeiros exemplos de 'Um ciclo corresponde à apresentação completa de todos os elementos do conjunto de treinamento acompanhada dos ajustes de pesos correspondentes.
46
1
47
Capítulo 4
Redes MLP O
a
-^
Li
Q2
Q
e
f_ Ü Conforme discutido no Capítulo 3, as redes de uma só camada resolvem apenas problemas linearmente separáveis. A solução de problemas não linearmente separáveis passa pelo uso de redes com uma ou mais camadas intermediárias. ou escondidas . Segundo Cybenko [C\b89]. unia rede com uma camada intermediaria pode implementar qualquer função contínua . A utilização de duas camadas intermediárias permite a aproximação de qualquer função [Cyb88]. e Deve ser observado que permitir a implementação ( aprendizado ) da função não implica , como é o caso da rede perceptron. a garantia de implementação da função . Dependendo da distribuição dos dados . a rede pode convergir para um mínimo local ou pode demorar demais para encontrar a solução desejada.
C'
v
%
Qtlçt^]
[
PQl'l-e
&
O problema passa a ser então como treinar estas redes. Uma possibilidade seria a divisão da rede em um conjunto de sub-redes, uma sub-rede para cada camada, com treinamento independente. Em uma rede com uma camada intermediária, por exemplo, a primeira camada escondida poderia ser formada por um conjunto de redes perceptron, uma rede para cada grupo de entradas linearmente separáveis. Na camada de saída, uma outra rede combina as saídas produzidas pelas redes da primeira camada, gerando a classificação final. Esta solução esbarra na dificuldade de dividir um problema em subproblemas. Geralmente esta divisão ou não é possível ou é muito complicada. Uma outra alternativa seria treinar a rede completa de uma só vez. O problema agora se torna como treinar os nodos da camada intermediária desta rede. Qual seria a resposta desejada para estes nodos? Ou melhor. como seria definido o erro destes nodos? O problema passa agora a ser a definição do erro dos nodos das camadas intermediárias. Se uma função de ativação do 49
tipo limiar (função threshold) for utilizada , a avaliação do erro será bastante complexa , uma vez que os nodos das camadas intermediárias e de saída não saberão o quão distantes as respostas de seus nodos estão dos valores desejados, um dos problemas da rede perceptron . Uma alternativa seria a utilização de funções de ativação lineares. No entanto , uma rede com mais de uma camada cujos nodos utilizam funções de ativação lineares é equivalente a uma rede de uma só camada. Esta afirmação pode ser facilmente provada: Seja uma Rede Neural com uma camada intermediária e funções de ativação lineares. Sejam x o vetor de entrada e WA e WB as matrizes de pesos para os nodos da primeira e segunda camadas, respectivamente . O vetor de saída da rede é gerado de acordo com a Equação 4.1: y = (xwA).wB (4.1) Utilizando propriedades da álgebra linear [Lay97], tem-se que: V(WA e WB) 3 wc. 1 wc. = WA.WB (4.2) Logo:
y = x.wc (4.3) onde x é o vetor de entrada , y o vetor de saída e wA, WB e wc são matrizes de pesos com dimensões 111xN, NxL e MiL, respectivamente.
Para treinar as redes com mais de uma camada , foi proposto um método que se baseia em gradiente descendente [RHW86]. A fim de que este método possa ser utilizado , a função de ativação precisa ser contínua, diferenciável e, de preferência, não-decrescente . A função de ativação deve informar os erros cometidos pela rede para as camadas anteriores com a maior precisão possível. A alternativa utilizada para superar os problemas acima citados foi a utilização de funções de ativação do tipo sigmoidal. Este capítulo tem por objetivo descrever e explicar o funcionamento das RNAs do tipo perceptron multicamadas. ou MLP (multilayer perceptron), que 50
são RNAs que apresentam pelo menos uma camada intermediária ou escondida [RHW86]. Inicialmente será apresentada uma introdução às características básicas das redes MLP, mostrando sua motivação e capacidade. Posteriormente, será apresentado o principal algoritmo utilizado para treinar tais redes, o algoritmo back-propagation, além de algumas variações deste algoritmo nos últimos anos com o objetivo de melhorar o seu desempenho.
4.1 Arquitetura Conforme visto anteriormente neste livro, a inexistência ou desconhecimento de algoritmos para treinar redes com uma ou mais camadas intermediárias foi uma das causas da redução das pesquisas em RNAs na década de 70. Tal problema foi primeiro apontado por Minsky e Pappert , no livro Perceptrons [11P69], e, por representar uma sensível redução no universo de aplicações de RNAs, causou uma diminuição drástica tanto do número de pesquisadores que trabalhavam na área quanto no financiamento de projetos envolvendo RNAs. Redes MLP apresentam um poder computacional muito maior do que aquele apresentado pelas redes sem camadas intermediárias . Ao contrário destas redes, MLPs podem tratar com dados que não são linearmente separáveis. Teoricamente , redes com duas camadas intermediárias podem implementar qualquer função, seja ela linearmente separável ou não [Cyb89 ]. A precisão obtida e a implementação da função objetivo dependem do número de nodos utilizados nas camadas intermediárias . A Figura 4.1 apresenta uma rede MLP típica. Conforme já observado , um dos principais aspectos relacionados ao projeto de redes MLP diz respeito à função de ativação utilizada. Diversas funções de ativação têm sido propostas para redes multicamadas. Estas funções são não-lineares e diferenciáveis . No início deste capítulo já foi explicado o porquê da não-linearidade . As funções precisam ser diferenciáveis para que o gradiente possa ser calculado , direcionando o ajuste dos pesos . A maioria delas é também não-decrescente . A função de ativação mais utilizada é sigmoidal logística. A orientação da sigmoidal é determinada pela direção do vetor de pesos w. O valor do termo de polarização . correspondente ao peso zro . determina a localização da função sigmoidal , ou seja, define a posição da função sigmoidal com relação ao eixo dá ordenada. A Figura 4.2 ilustra a posição da função sigmoidal no gráfico cartesiano cujos eixos são a saída do nodo ao qual a função está sendo aplicada e o valor de seu termo de polarização. Esta figura mostra o deslocamento desta posição,
1
51
quando o valor do termo de polarização é modificado. Pode-se ver nesta figura que quanto maior o termo de polarização, maior o valor de entrada necessário para unia resposta próxima a 1. Finalmente, a inclinação da função sigmoidal é determinada pela norma do vetor de pesos 11w11.
4.1.1 Funcionalidade
Entrada Camada Camada de entradal intermediária
Em uma rede multicamadas, o processamento realizado por cada nodo é definido pela combinação dos processamentos realizados pelos nodos da camada anterior que estão conectados a ele. Quando se segue da primeira camada intermediária em direção à camada de saída, as funções implementadas se tornam cada vez mais complexas. Estas funções definem como é realizada a divisão do espaço de decisão. Para uma rede com pelo menos duas cansadas intermediárias, pode-se dizer que o seguinte processamento ocorre em cada unia das camadas:
Camada de saída
Figura 4.1: Esta figura ilustra unia rede NILP típica com uma camada inter- • Primeira camada intermediária : cada nodo traça retas no espaço de me di ária. padrões de treinamento. • Segunda camada intermediária : cada nodo combina as retas traçadas pelos neurônios da camada anterior conectados a ele, formando regiões convexas, onde o número de lados é definido pelo número de unidades a ele conectadas. A Figura 4.3 ilustra possíveis regiões convexas definidas pelos nodos da segunda camada intermediária. • Camada de saída: cada nodo forma regiões que são combinações das regiões convexas definidas pelos nodos a ele conectados da camada anterior. Os nodos definem, desta maneira, regiões com formatos abstratos. Possíveis regiões formadas pelos nodos da camada de saída podem ser vistas na Figura 4.4.
Figura 4.2 : Influência do termo de polarização no mapeamento realizado pela função sigmoidal . Pode ser visto nesta figura que quanto maior o termo de polarização , maior o valor de entrada necessário para uma resposta próxima a 1.
52
Pode ser dito que as unidades intermediárias de uma rede ^ILP funcionam como detectores de características . Elas geram uma codificação interna dos padrões de entrada, que é então utilizada para a definição da saída da rede. Dado um número suficientemente grande de unidades intermediárias , é possível formar representações internas para qualquer conjunto de padrões de entrada. Cybenko [Cyb89], além de outros pesquisadores [HSW89, Fun89], investigou o número de camadas intermediárias necessárias para a implementação de classes de funções em uma Rede Neural Artificial. Os resultados obtidos indicam que:
53
• Uma camada intermediária é suficiente para aproximar qualquer função contínua [Cyb89 , HKP91].
Wl
■ classe 1 o Cl~ 2
• Duas camadas intermediárias são suficientes para aproximar qualquer função matemática [Cyb88].
W2
Figura 4.3: Regiões definidas pelo processamento realizado pela segunda camada intermediária . Como pode ser visto, retas definidas pela camada anterior são combinadas para a formação de regiões convexas.
Wl
Deve ser observado , contudo , que em alguns casos a utilização de duas ou mais camadas intermediárias pode facilitar o treinamento da rede. A utilização de um grande número de camadas intermediárias não é recomendada, no entanto, pois, cada vez que o erro medido durante o treinamento é propagado para a camada anterior, ele se torna menos útil ou preciso . A única camada que tem uma noção precisa do erro cometido pela rede é a camada de saída. A última camada intermediária recebe apenas um estimativa sobre o erro. A penúltima camada intermediária , uma estimativa da estimativa, e assim por diante. Com relação ao número de nodos nas camadas intermediárias , este é em geral definido empiricamente . Este número depende fortemente da distribuição dos padrões de treinamento e validação da rede. Alguns métodos , no entanto, têm sido propostos . Os mais utilizados são: • Definir o número de unidades em função do número de entradas e saídas. Deve ser observado que este método não pode ser utilizado de forma genérica.
■ ciasse 1
• Utilizar um número de conexões dez vezes menor que o número de exemplos. Este método apenas reduz a incidência de overfitting. Se o número de exemplos for muito maior que o número de conexões, overfitting é improvável , mas pode ocorrer underfitting ( a rede não converge durante o seu treinamento). O número adequado de nodos na camada intermediária depende de vários fatores, como: • Número de exemplos de treinamento; Figura 4.4: Regiões definidas pelo processamento realizado pela camada de saída de uma rede MLP . Pode-se observar que são formadas regiões com formatos abstratos.
• Quantidade de ruído presente nos exemplos; • Complexidade da função a ser aprendida; • Distribuição estatística dos dados de treinamento.
54
1
55
4
Existem problemas que necessitam apenas de unia unidade de entrada e de uma unidade de saída, e outros que podem precisar de milhares de unidades intermediárias. O número de unidades intermediárias pode também, em alguns casos. crescer exponencialmente com o número de entradas. A solução neural mais eficiente é aquela em que o número de unidades cresce apenas polinomialmente com o aumento do número de unidades de entrada. Para a solução de problemas práticos de reconhecimento de padrões, alocase para a rede uni número de unidades intermediárias suficientes para a solução do problema. Deve-se ter cuidado para não utilizar nem unidades demais, o que pode levar a rede a memorizar os padrões de treinamento, em vez de extrair as características gerais que permitirão a generalização ou o reconhecimento de padrões não vistos durante o treinamento (este problema é chamado de overfitting). nem uni número muito pequeno, que pode forçar a rede a gastar tempo em excesso tentando encontrar uma representação ótima (as unidades utilizadas podem ficar sobrecarregadas, tendo que lidar com uni elevado número de restrições).
4.1.2 Otimização da topologia utilizando pruning Conforme observado nos parágrafos anteriores, uma das maiores dificuldades em se definir a estrutura de unia RNA é o fiel dimensionamento de sua topologia. Normalmente. o número de camadas e o número de nodos em cada camada são definidos em função de uma inspeção prévia nos dados e da complexidade do problema. Uma vez definida a topologia inicial , a estrutura final mais adequada para o modelamento é normalmente obtida através de refinamentos sucessivos, que podem levar a um tempo de dimensionamento alto, já que este tem uns grande componente empírico. O objetivo dessa etapa de ajuste é a obtenção de uma topologia de rede que modele com precisão os dados do conjunto de treinamento, mas que também resulte em unia aproximação com boa capacidade de generalização. Como na maioria dos casos o conjunto de treinamento de uma RNA é composto de dados experimentais, estes contêm implicitamente erros inerentes aos processos de amostragem. Desta forma, a aproximação através de RNAs deve ser feita visando à obtenção de uma estrutura que seja capaz de modelar os dados sem modelar o ruído contido neles.
Este é um problema no projeto de RNAs conhecido na literatura como bios and variance dileinrna[GBD92],1 que envolve a obtenção de um modelo que não seja muito rígido a ponto de não modelar fielmente os dados, mas que também não seja excessivamente flexível a ponto de modelar também o ruído. O equilíbrio entre a rigidez e a flexibilidade da rede é obtido por meio de seu dimensionamento. Quanto maior a sua estrutura, maior o número de parâmetros livres ajustáveis e, conseqüentemente, maior a sua flexibilidade. Porém, quando os dados são apresentados à rede, não se tem real conhecimento de sua complexidade, daí a dificuldade do problema de dimensionamento. Uma forma de se evitar o overfitting é estimar o erro de generalização durante o processo de treinamento [Ree93]. Para isto, o conjunto de dados é dividido em conjunto de treinamento e conjunto de validação. O conjunto de treinamento é utilizado na modificação dos pesos, e o conjunto de validação é utilizado para estimar a capacidade de generalização da rede durante o processo de aprendizagem. O treinamento deve ser interrompido quando o erro do conjunto de validação começar a subir, ou seja, quando a rede começar a incorporar o ruído presente nos dados, o que causa degradação na sua capacidade de generalização [Ree93]. Embora esta alternativa possa se mostrar eficiente em algumas situações, sua utilização é limitada para os casos em que um conjunto de treinamento muito grande está disponível, já que os dados do conjunto de validação não podem ser utilizados para treinamento. Uma outra solução conhecida é a adoção de técnicas de pruning [Ree93], que, por sua vez, envolvem a• eliminação de pesos e nodos irrelevantes para a função executada pela rede. Existem basicamente dois tipos de métodos de pruning: os métodos baseados na avaliação da sensibilidade da saída e os métodos que envolvem modificações na função de.custo [Ree93]. A filosofia dos métodos do primeiro grupo é a retirada de elementos da rede e a subseqüente verificação da variação do erro de saída [1\IS89, Kar90, LBD+90]. Caso a retirada do elemento não cause grande variação no erro de saída, conclui-se que a rede é pouco sensível a este e que ele pode ser retirado sem perda da capacidade da rede de modelar os dados.
'Como não existe tradução conhecida para o português, resolveu-se aqui manter o tenho conforme é conhecido na literatura internacional.
56
57
A desvantagem desse método é que a retirada dos elementos não considera a correlação entre eles . Um exemplo de situação e m que este método poderia falhar seria o caso de dois nodos que anulam as suas saídas em uma camada intermediária da rede. Como par , eles não causam nenhum efeito na saída de rede, mas individualmente podem ter um grande efeito quando a remoção de um deles é analisada [Ree93]. Por sua vez , os métodos que envolvem modificação na função de custo [HN87, LDS901 utilizam , em uma primeira etapa, temos - de - regularização, [TA77] adicionados ao termo de erro padrão. A idéia destes algoritmos é a obtenção de soluções com pesos de norma mínima; para isto , as soluções com valores altos de pesos são penalizadas durante o treinamento . Começa-se com uma rede com topologia superdimensionada e dela são retirados os pesos irrelevantes. Como exemplo , a forma geral da função de custo J para o treinamento do algoritmo weight decay [HN87] é apresentada na Equação 4.4. Pode-se então observar que se minimiza não somente a soma dos erros quadráticos, mas também a norma do vetor de pesos.
J
2(di-
Yi )2
+2aIIWII2
(4.4)
onde k é o número de nodos de saída, di, a saída desejada do nodo i, yj, a saída gerada pelo nodo i., ew, o vetor de pesos. Uma vez obtida uma solução com pesos de norma mínima, aqueles com valores muito pequenos são então considerados irrelevantes e eliminados. Esperase então obter uma solução com um fiel equilíbrio entre a rigidez e a flexibilidade da rede. A contrapartida para esta abordagem, que parece mais elegante, é que a busca de uma boa solução com norma mínima também depende do ajuste de forma empírica do parâmetro de regularização A. Quando este é nulo, somente a soma dos erros quadráticos é minimizada; quando possui valor muito grande, a solução para o vetor de pesos tende para w = 0. Portanto, um valor satisfatório intermediário deve ser encontrado. Uma solução para contornar este problema é, obviamente, incluir o parâmetro A como uma das variáveis a serem ajustadas, porém isto incorpora mais complexidade ao processo de treinamento. Outros procedimentos para a construção de redes com estrutura otimizada é a utilização de redes construtivas,, que serão tratadas mais adiante. A seguir serão discutidas as técnicas clássicas de treinamento de redes MLP.
4.2 Treinamento de redes MLP Existem atualmente vários algoritmos para treinar redes MLP [RM86, Fah88, Rie94, Pea92, Bat91, HM94]. Estes algoritmos são geralmente do tipo supervisionado. De acordo com os parâmetros que eles atualizam, os algoritmos para treinamento de redes do tipo MLP podem ser classificados em: • estáticos; • dinâmicos. Enquanto os algoritmos estáticos não alteram a estrutura da rede, variando apenas os valores de seus pesos, os algoritmos dinâmicos podem tanto reduzir quanto aumentar o tamanho da rede (número de camadas, número de nodos nas camadas intermediárias e número de conexões). Quando o aprendizado estático é utilizado, a mesma regra de aprendizado é empregada para redes do tipo AILP com diferentes tamanhos e formatos. É interessante observar que topologias diferentes podem resolver o mesmo problema. O algoritmo de aprendizado mais conhecido para treinamento destas redes é o algoritmo back-propagation [RM86]. A maioria dos métodos de aprendizado para RNAs do tipo MLP utiliza variações deste algoritmo. O algoritmo backpropagation foi um dos principais responsáveis pelo ressurgimento do interesse em RNAs, por ocasião da publicação, em 1986 [RM86], de Parallel Distribated Processing, mais conhecido por PDP. Embora a popularização deste algoritmo tenha surgido a partir de 1986, ele foi proposto muito antes, com diferentes propósitos, por diferentes pesquisadores, como Bryson e Ho [BH69](1969), Werbos [Wer74](1974), Parker [Par85] (1985) e Le Cun [LeC85] (1985). O algoritmo back-propagation é um algoritmo supervisionado que utiliza pares (entrada, saída desejada) para, por meio de um mecanismo de correção de erros, ajustar os pesos da rede. O treinamento ocorre em duas fases, em que cada fase percorre a rede em um sentido. Estas duas fases são chamadas de fase forward e fase backward. A fase forward é utilizada para definir a saída da rede para um dado padrão de entrada. A fase backward utiliza a saída desejada e a saída fornecida pela rede para atualizar os pesos de suas conexões. A Figura 4.5 ilustra estas duas fases. A fase forward envolve os seguintes passos:
58
1
59
Fase forward
1. Inicializar pesos e parâmetros. 2. Repetir até o erro ser mínimo ou até a realização de um dado número de ciclos: 2.1 Para cada padrão de treinamento X 2.1.1 Definir saída da rede através da fase forward. 2.1.2 Comparar saídas produzidas com as saídas desejadas.
Fase backward
2.1.3 Atualizar pesos do nodos através da fase backward.
Figura 4.5: Fluxo de processamento do algoritmo back-propagation. Os dados seguem da entrada para a saída no sentido forward, e os erros, da saída para a entrada no sentido backward. 1. A entrada é apresentada à primeira camada da rede. a camada C°. 2. Para cada camada C' a partir da camada de entrada 2.1 Após os nodos da camada C' (i > 0) calcularem seus sinais de saída, estes servem como entrada para a definição das saídas produzidas pelos nodos da camada C'+1 3. As saídas produzidas pelos nodos da última cansada são comparadas às saídas desejadas. A fase backward envolve as etapas listadas a seguir: 1. A partir da última camada, até chegar na camada de entrada: 1.1 Os nodos da camada atual ajustam seus pesos de forma a reduzir seus erros. 1.2 O erro de um nodo das camadas intermediárias é calculado uti-
0 algoritmo back-propagation é baseado na regra delta proposta por \Vidrow e Hoff [\VH60] (apresentada nos capítulos anteriores), sendo por isto também chamada de regra delta generalizada. Este algoritmo propõe unia forma de definir o erro dos nodos das camadas intermediárias, possibilitando o ajuste de seus pesos. Os ajustes dos pesos são realizados utilizando-se o método do gradiente. Na literatura de análise numérica, a regra delta generalizada é conhecida como o "método da bola pesada" [Ber95]. A derivação da regra delta generalizada é simples e semelhante à derivação da regra delta. Também neste caso, a função de custo a ser minimizada é uma função de erro ou energia, definida pela soma dos erros quadráticos e representada pela Equação 4.5: ti
E=
P)2
2(dp P i=1
onde E é a medida de erro total, p é o número de padrões, k é o número de unidades de saída, d- é a i-ésima saída desejada e y; é a i-ésima saída gerada pela rede. Esta equação define o erro total cometido pela rede, ou a quantidade em que, para todos os padrões p de um dado conjunto, as saídas geradas pela rede diferem das saídas desejadas.
lizando os erros dos nodos da camada seguinte conectados a ele, ponderados pelos pesos das conexões entre eles. O algoritmo back-propagation, que faz uso destas duas fases, é apresentado a seguir. 60
A regra delta generalizada requer que as funções de ativação utilizadas pelos nodos sejam contínuas, diferenciáveis e, geralmente, não-decrescentes da entrada total recebida pelo nodo. Estas funções são chamadas de funções semilineares. A Equação 4.6 ilustra o cálculo do valor de ativação. 61
Erro referente aos,,. Superfície de erro
Embora o erro total E seja definido pela soma dos erros dos nodos de saída para todos os padrões, será considerado, sem perda de generalidade, que a minimização do erro para cada padrão individualmente levará à minimização do erro total. Assim, o erro passa a ser definido pela Equação 4.8:
pesos iniciais
1 ti
E=
2(dj j =1
-yj)2
A regra delta sugere que a variação dos pesos seja definida de acordo com o gradiente descendente do erro com relação ao peso, ou seja, que a variação do peso para um dado padrão seja definida pela Equação 4.9: Solução desejada
aE
Awjt oc - OE Figura 4.6: Superfície de erro para rede MLP. Considere que as coordenadas w1 e w2 são pesos cujos valores apontam para um ponto da superfície de erro.
yP = f j (netP)
awjj
Agora é necessário definir como cada um dos pesos de cada nodo da rede deve ser ajustado de forma a diminuir o erro total gerado pela rede. Utilizando a regra da cadeia, tem-se que:
(4.6)
aE _ 0E anetj awja anetj awji
onde: n netP
onde netj = xZwji
(4.10)
Onet A segunda derivada , , é simples de calcular: J
Ê xPwi '1
i=1
a xtwj1 anet = l=1 = xr wj i w j i
A constante n representa o número de conexões de entrada do nodo j, e wj;, o peso da conexão entre a entrada xp e o nodo j. Há garantia de convergência se a superfície de energia for simples. Uma forma de visualizar a influência do treinamento da rede no valor do erro ou energia é ilustrada pela superfície de erro da Figura 4.6. Esta figura ilustra um caso simples de uma rede com apenas um nodo e duas conexões. Os valores dos pesos da rede definem a cordenada de um ponto da superfície de erro. O erro produzido pela rede para cada combinação de valores de pesos é dado pela altura da superfície naquele ponto. Assim, quanto mais alto for o ponto, maior o erro produzido pela rede.
(4.11)
A primeira derivada, aquela do lado direito da igualdade da Equação 4.10, mede o erro do nodo j, e geralmente é abreviada para 6j.
b^ -
aE anet j
(4.12)
O cálculo desta derivada também pode ser definido pela regra da cadeia:
_ aE _ aE ayj E^ anetj ayj anetj
(4.13)
A segunda derivada da Equação 4.13, .^et , é facilmente definida:
4.2.1 Derivação das fórmulas
J
Nesta seção serão derivadas as fórmulas utilizadas pelo algoritmo back-propagation para atualização dos pesos da rede I\ILP. 62
(4.9)
1
agi _ af (netj) = f.(netj) anet j anet j
(4.14)
63
Mínimos locais
Já o cálculo da primeira derivada, y , que utiliza o erro. vai depender da camada onde o nodo j se encontra. Se o nodo estiver na última camada. o seu erro pode ser facilmente definido utilizando a Equação 4.8. Assim. ti
DE 0(1 _r (dl
yl )2
-
i = (d.i - yi) _ C9 yi __ ayi
(4.15)
que é a mesma fórmula da regra delta original . Substituindo os dois termos do lado direito da Equação 4.13. obtém-se: (4.16)
SJ = (d1 - yi).f-(neta)
Platôs
Caso o nodo j não seja uni nodo de saída. a regra da cadeia é utilizada para escrever:
Figura 4.7: Exemplo de mínimos locais e platôs em unia superfície de erro.
DE
OE V- DE Onetl
Dy, áneti Dyj
ó
i=l
wilyi
at DE
ónetl Dy ónet w•^1 (4.17) 1
onde:
Ai DE
(4.18)
C^net1 wj1 = 6iw^1 1=i 1=t
Substituindo mais uma vez os dois termos do lado direito da Equação 4.13. obtém- se que, para os nodos das camadas intermediárias , o erro é definido por: õj = f*(netj )E81w1j 1
(4.19)
Pode-se assim generalizar a fórmula de ajuste de pesos proposta na Equação 4.9 para: Owii = 71sixi
(4.20)
ou:
w,i(t + 1) = w,i (t)
+ r)ô; (t)xi(t)
(4.21)
Se o nodo for de saída, o erro 6, será definido pela Equação 4.16, caso contrário, bj será dado pela Equação 4.19.
64
Para unia melhor compreensão do processo de aprendizado. pode-se supor. por exemplo, que cada combinação de pesos e limiares corresponda a um ponto na superfície de solução. Considerando que a altura de uni ponto é diretamente proporcional ao erro associado a este ponto, a solução está nos pontos mais baixos da superfície. O algoritmo back-propagation procura minimizar o erro obtido pela rede ajustando pesos e limiares para que eles correspondam às coordenadas dos pontos mais baixos da superfície de erro. Para isto, ele utiliza um método de gradiente descendente. O gradiente de uma função está na direção e sentido em que a função tem taxa de variação máxima. Isto garante que a rede caminha na superfície na direção que vai reduzir mais o erro obtido. Para superfícies simples. este método certamente encontra a solução com erro mínimo. Para superfícies mais complexas. esta garantia não mais existe, podendo levar o algoritmo a convergir para mínimos locais. O algoritmo back-propagation fornece uma aproximação da trajetória no espaço de pesos calculado pelo método do gradiente descendente. Estes pontos ou áreas podem incluir platôs, mínimos locais ou arestas. A Figura 4.7 ilustra mínimos locais e platôs. Um dos problemas enfrentados no treinamento de redes MLP diz respeito à definição de seus parâmetros. A seleção dos parâmetros de treinamento do algoritmo back-propagation é um processo tão pouco compreendido que é muitas
65
vezes chamado de "magia negra". Pequenas diferenças nestes parâmetros podem levar a grandes diferenças tanto no tempo de treinamento quanto na generalização obtida. Não é raro encontrar na literatura, para um mesmo problema, utilizando o mesmo método de treinamento, tempos de treinamento que diferem em uma ou mais ordens de magnitude.
mas pode ser lenta se o conjunto de treinamento for grande e redundante. Esta abordagem apresenta uma estimativa mais precisa do vetor gradiente, à custa da necessidade de mais memória. A escolha da abordagem a ser utilizada depende da aplicação e da distribuição estatística dos dados.
4.2.2 Dificuldades no treinamento Uma dúvida que surge naturalmente diz respeito a quando parar de treinar a rede. Existem vários métodos para a determinação do momento em que o treinamento deve ser encerrado. Estes métodos são chamados de critérios de parada. Os critérios de parada mais utilizados são: 1. encerrar o treinamento após N ciclos; 2. encerrar o treinamento após o erro quadrático médio ficar abaixo de uma constante a; 3. encerrar o treinamento quando a porcentagem de classificações corretas estiver acima de uma constante a (mais indicado para saídas binárias);
Embora as seções anteriores possam sugerir o contrário, o algoritmo backpropagation apresenta uma série de dificuldades ou deficiências que desestimulam uma maior disseminação de seu uso. O principal problema diz respeito à lentidão do algoritmo para superfícies mais complexas. Uma forma de minimizar este problema é considerar efeitos de segunda ordem para o gradiente descendente. Não é raro o algoritmo convergir para mínimos locais. Mínimos locais são pontos na superfície de erro que apresentam uma solução estável, embora não sejam a saída correta. Algumas técnicas são utilizadas tanto para acelerar o algoritmo back-propagation quanto para reduzir a incidência de mínimos locais:
4. combinação dos métodos acima. • utilizar taxa de aprendizado decrescente; Outro aspecto que precisa ser observado é a freqüência de atualização dos pesos. A freqüência de ajuste dos pesos influencia o desempenho obtido durante o treinamento. Duas abordagens diferentes têm sido utilizadas quanto à freqüência (periodicidade) para o ajuste de pesos pelo algoritmo backpropagation: • por padrão (on-line); • por ciclo (batch).
• adicionar nós intermediários; • utilizar um termo momentum; • adicionar ruído aos dados. Entre as várias técnicas utilizadas para acelerar o processo de treinamento e evitar mínimos locais, a adição de um termo momentum [RN1861 é uma das mais freqüentes. Sua grande utilização é influenciada por ser ela uma técnica simples e efetiva. O termo momentum é representado pela Equação 4.22.
Existem vantagens e desvantagens em cada uma destas abordagens. Na abordagem por padrão, os pesos são atualizados após a apresentação de cada padrão de treinamento. Esta abordagem é estável se a taxa de aprendizado for pequena (é aconselhável reduzir progressivamente esta taxa). Quando taxas elevadas são utilizadas, a rede geralmente se torna instável. A abordagem por padrão é geralmente mais rápida, sobretudo se o conjunto de treinamento for grande e redundante. Uma outra vantagem desta técnica é que ela requer menos memória.
A fórmula completa de ajuste de pesos utilizando o termo momentum passa então a ser:
Na abordagem por ciclo, por sua vez, os pesos são atualizados após todos os padrões terem sido apresentados. Esta técnica é geralmente mais estável,
A inclusão do termo momentum na fórmula de ajuste dos pesos aumenta a velocidade de aprendizado (aceleração), reduzindo o perigo de instabilidade.
66
1
v = a(wi;(t) - wii(t - 1))
wj; (t + 1) = wj; (t) + i7Si (t)xi(t) + a(wij(t) - wlj(t - 1))
67
(4.22)
(4.23)
mento. A derivada da função sigmoidal é igual a oJ (1-oj). Quando a saída da unidade se aproxima de 0.0 ou 1.0. a derivada da função sigmoidal se aproxini}a de zero. Isto ocorre mesmo quando o erro é o maior possível. Como o ajuste de pesos utiliza o valor da derivada. a unidade pode não ter seus pesos ajustados ou ajustá-los com um valor muito pequeno. Existem algumas propostas para superar este problema, entre elas:
• utilizar uma medida de erro que tenda para infinito quando a derivada da sigmoidal tender para zero [Fra87]:
Solução desejada
• adicionar uma constante à derivada , evitando que o erro seja igual a zero [AG94];
Figura 4.8: Influência do termo m,omentum.. • utilizar unia função de erro não-linear [AG94]. O termo momentuin pode acelerar o treinamento em regiões muito planas da superfície de erro. Além disso. ele suprime a oscilação de pesos em vales e ravinas. A Figura 4.8 ilustra o efeito da utilização do termo momentum no caminho seguido pela rede durante seu aprendizado Outro problema que ocorre durante o treinamento de redes '-^1LP é a possível ocorrência de overfitting. Conforme já discutido anteriormente, o overfitting ocorre quando, após um certo ciclo do treinamento. a rede. em vez de melhorar, começa a piorar a sua taxa de acertos para padrões diferentes daqueles utilizados para o ajuste dos pesos. Diz-se então que a rede memorizou os padrões de treinamento, gravando suas peculiaridades e ruídos. Isto tem como resultado uma piora na capacidade de generalização da rede. Assim como para os problemas de lentidão e mínimos locais, existem alternativas para lidar com o problema de overfitting. As alternativas mais utilizadas para reduzir a ocorrência de overfitting são: • encerrar o treinamento mais cedo (quando o erro de validação começa a subir); • podar (pruning) os pesos da rede. Entretanto, um dos principais problemas do algoritmo back-propagation padrão é conhecido como superfície plana (flat spot [Fah88]), quando a derivada da função sigmoidal de uma unidade se aproxima de zero durante o treina68
Em [PNH86] é apresentada a utilização de taxas de aprendizados diferentes para os pesos de unia rede MLP. Os autores sugerem que a taxa de aprendizado associada a cada peso de um nodo j seja inversamente proporcional ao fan-in (número de conexões de entrada) de j. Esta técnica tem se mostrado adequada quando a variação no fan-in é muito grande. Os autores também sugerem que o termo momentum seja variado durante o treinamento: muito pequeno no início, devendo ser aumentado após a rede estabilizar sua taxa de erro. Alguns artigos também sugerem que a taxa de aprendizado seja variada durante o treinamento: inicialmente grande, a taxa deve ser reduzida quando a rede parar de diminuir o erro quadrático médio. Outro problema enfrentado por RNAs de um modo geral é o problema do "esquecimento catastrófico -, quando , ao aprender novas informações, a rede esquece informações previamente aprendidas. Conforme afirmado anteriormente, uma rede apresenta capacidade de generalização quando classifica corretamente padrões não-utilizados no treinamento ou com ruído. A generalização ocorre através da detecção de características relevantes do padrão de entrada. Assim, padrões desconhecidos são atribuídos a classes cujos padrões apresentam características semelhantes. A generalização também permite a tolerância a falhas. A seguir serão apresentadas duas variações do algoritmo back-propagation. 69
4.3 Variações do back-propagation Conforme exposto anteriormente, o algoritmo back-propagation padrão é muito lento para várias aplicações, e seu desempenho piora sensivelmente para problemas maiores e mais complexos. Mesmo para problemas relativamente simples, o algoritmo back-propagation geralmente requer que todos os padrões de treinamento sejam apresentados centenas ou até mesmo milhares de vezes. Isto limita a utilização prática deste algoritmo, permitindo apenas o treinamento de pequenas redes, com poucos milhares de pesos ajustáveis. Embora alguns problemas do mundo real (problemas práticos) possam ser tratados utilizando redes deste tamanho, a maioria dos problemas em que a tecnologia neural poderia apresentar uma solução adequada demandaria redes maiores e mais complexas. Desde a sua criação, várias alterações do algoritmo back-propagation têm sido propostas visando tanto a acelerar seu tempo de treinamento como a melhorar seu desempenho na classificação de padrões. Destas variações, as mais utilizadas são back-propagation com momentum [RM86], Quickprop [Fah88], Levenberó Marquardt [HM94], momentum de segunda ordem [Pea92], Newton [Bat91] e Rprop [Rie94].
4.3.1 Algoritmo Quickprop O algoritmo back-propagation utiliza a primeira derivada parcial do erro total referente a cada peso para ajustar cada um dos pesos. Esta informação possibilita realizar um gradiente descendente no espaço de pesos. A descida do gradiente utilizando passos infinitesimais garante a chegada a um mínimo local que, para vários problemas, pode ser um mínimo global ou uma solução aceitável. O problema é o tempo que o treinamento pode levar para convergir. O treinamento de uma rede MLP pode ser acelerado se for utilizada informação sobre a curvatura da superfície de erro. O algoritmo Quickprop, que foi desenvolvido por Scott Fahlman [Fah88], é um método de segunda ordem que utiliza uma heurística baseada no método de Newton [Bat91]. A principal diferença em relação ao back-propagation padrão é que, para cada peso, independentemente, são utilizadas as inclinações anterior e atual do erro. Quickprop considera que a superfície de erro é localmente quadrática (formando uma parábola) e procura saltar da posição atual na superfície para o ponto de mínimo da parábola. A equação para ajuste dos pesos é ilustrada na Equação 4.24 70
Sw(t) = S(t) SSt(t 1) bw(t - 1)
(4.24)
onde S(t) e S(t - 1) são os valores atuais e passados de 7jj , respectivamente. Como pode ser observado, o cálculo é muito simples e precisa apenas da informação local do peso a ser reajustado. Embora o valor calculado seja apenas uma aproximação para o valor ótimo do peso, segundo [Fah88]. este algoritmo funciona bem. Utilizando a Equação 4.24, se a inclinação atual for menor que a inclinação anterior, mas na mesma direção, o peso será ajustado na mesma direção. O tamanho do ajuste depende de quanto a inclinação foi reduzida no ajuste anterior. Se a inclinação atual for na direção oposta à inclinação associada ao ajuste anterior, isto significa que o aprendizado passou por um ponto de mínimo e que o aprendizado está no lado oposto do vale. Neste caso, o próximo ajuste será para uma posição entre a posição anterior e a posição atual. Para o último caso, quando a inclinação atual estiver na mesma direção que a inclinação do ajuste anterior, mas com uma inclinação maior ou igual à inclinação anterior, Fahlman sugere a utilização de um limite para o ajuste de pesos. Assim, ajuste o de um dado peso não pode ser maior que o seu último ajuste multiplicado por uma constante. Maiores detalhes do algoritmo Quickprop podem ser encontrados em [Fah88].
4.3.2 Algoritmo Rprop O algoritmo Rprop, de resilient back-propagation, é um algoritmo de adaptação global que realiza treinamento supervisionado batch em redes do tipo MLP [Rie94]. Este algoritmo procura eliminar a influência negativa do valor da derivada parcial na definição do ajuste dos pesos. Esta influência negativa ocorre porque, quando a saída de um nodo for próxima de 0 (ou 1) e a saída desejada for 1 (ou 0), a derivada será próxima de 0, fazendo com que os pesos deste nodo recebam um ajuste mínimo. quase igual a O. O algoritmo Rprop elimina este problema utilizando apenas o sinal da derivada, e não o seu valor. O sinal indica a direção do ajuste dos pesos (aumentar ou diminuir o peso anterior). O tamanho do ajuste dos pesos é dado por um "valor de atualização' A,. conforme indicado pela Equação 4.25.
1
71
4.5 Conclusão íAu^^; _ +^ii . se - < 0
(4.25)
0 , caso contrário O valor de atualização Oji é definido por um processo de adaptação que depende do sinal da derivada do erro com relação ao peso a ser ajustado: rl+Oji (t - 1) . se
Oii(t) .ii(t - 1) .
se
OE(1-1) DE(i) > 0 Oiv, JE(t- 1rJE'
) caso contrário
1 ) < 0 (4.26)
ll^
Dii(t - 1) , onde 0 < g- < 1 < rl+.
Segundo a regra de adaptação utilizada por Rprop, quando a derivada parcial do erro em relação a uni peso wii mantém o seu sinal, o que indica que seu último ajuste reduziu o erro cometido, o valor de atualização Dii é aumentado pelo fator rl+, acelerando a convergência do treinamento. Quando a derivada parcial muda de sinal, o que indica que o seu último ajuste foi grande demais, o valor de atualização JJi é reduzido pelo fator 7l-, mudando a direção do ajuste.
4.4 Aplicações Redes perceptron multicamadas são as redes mais utilizadas em aplicações de RNAs, parte por sua facilidade de implementação, parte por sua simplicidade. Estas redes têm sido utilizadas para uma grande variedade de aplicações, como por exemplo:
Foi apresentado neste capítulo o modelo de redes perceptron multicamadas. ou redes MLP. Foram descritas suas características principais e discutidos seus problemas, principalmente no que diz respeito ao seu treinamento com o algoritmo back-propagatión. Foram também apresentadas duas variações deste algoritmo, os algoritmos Quickprop e Rprop. No início deste capítulo foi comentado que uma das principais dificuldades encontradas para treinar redes com mais de uma camada está na geração das "representações internas para as camadas intermediárias. O algoritmo backpropagation treina redes do tipo XILP, gerando estas representações de forma automática. Existe um equilíbrio entre precisão e rapidez. Em algumas aplicações. é preferível ter unia classificação errada do que nenhuma classificação. Eni outras, quando a rede neural está em dúvida entre mais de urna classe, é preferível que a rede rejeite o padrão de entrada, não o classificando em nenhuma das classes. Nos últimos anos tem havido um crescente interesse no desenvolvimento de RNAs construtivas, em que a estrutura da rede é definida dinamicamente durante o seu treinamento. Esta mudança pode envolver a eliminação de nodos e/ou conexões da rede, acréscimo de nodos e/ou conexões à rede ou unia combinação destes dois processos. Uma rede construtiva que tem sido amplamente utilizada é a rede Cascade Correlation [FL88]. Redes Construtivas e técnicas de pruning serão discutidas nos capítulos seguintes.
4.6 Exercícios • reconhecimento de caracteres [D+96]; • previsão do comportamento de ações na bolsa [Yod94]; • verificação de assinaturas [MWG88]; • segurança em transações com cartões de crédito [RC94]; • diagnóstico médico [BRG95]. 72
1. Imagine que você treinou uma rede do tipo MLP para reconhecer um conjunto de figuras. Cada nodo da última camada foi treinado para reconhecer figuras de urna dada classe. Como você pode descobrir quais subfiguras são reconhecidas pelos nodos da camada intermediária? 2. Quando se justifica utilizar uma camada, duas camadas (1 intermediária) e três camadas (2 intermediárias), e que tipos de funções podem ser implementadas em cada caso? 73
3. Como pode ser definido o número indicado de nodos para as camadas intermediárias de uma rede MLP? 4. Desenhe uma rede MLP com apenas um nodo na camada intermediária que resolva o problema do OU-EXCLUSIVO. 5. Entre 0.8 e 0.2, que taxa de aprendizado você utilizaria para treinar uma rede MLP quando os padrões de uma mesma classe são semelhantes a alguns padrões de outras classes? E se eles forem bastante diferentes?
12. Considerando que os padrões de entrada têm apenas três elementos, quantas e quais funções booleanas podem ser implementadas por uma rede MLP com uma camada intermediária? 13. Projetar e treinar uma Rede Neural para resolver o problema do OU-EXCLUSIVO.
6. O que são mínimos locais? Como sair deles? 7. Por que back-propagation é chamado de regra delta generalizada? 8. Por que se utiliza gradiente descendente para treinar redes do tipo MLP? 9. Qual a diferença entre aprendizado batch e on-line quando backpropagation é utilizado e qual a situação ideal para cada uma destas abordagens? 10. Desenhar uma rede do tipo MLP completamente conectada com duas camadas de nodos, sendo 2 nodos na primeira camada e 1 na última. Admitir taxa de aprendizado igual a: 0.4; pesos iniciais iguais a: 0.3, -0.4, 0.1, 0.3, 0.0, 0.5, -0.6 e 0.1, na primeira camada e 0.7, -0.4, -0.2 e 0.2, na segunda camada; função de ativação igual a: função sigmoidal com limiar de 0.6. a. Ensinar a rede utilizando no máximo três apresentações do conjunto de treinamento e gerar a resposta desejada indicada para os padrões abaixo (saída desejada = 0: classe 0 e saída desejada = 1: classe 1), mostrando os pesos finais da rede. entrada = 0011 saída desejada = 0 entrada = 1110 saída desejada = 1 b. Enumerar três modificações que melhorariam o desempenho da rede. c. Definir a classe dos padrões: entrada = 0010 entrada = 1111 entrada = 0111 entrada = 0101 11. O que aconteceria se você inicializasse todos os pesos da rede MLP da questão anterior com o valor 0.0?
74
1
75
Capítulo 5
Memórias Matriciais 5.1 Introdução Veste capítulo serão abordados os principais modelos de memórias matriciais conhecidos na literatura: modelo não-linear de Willshaw [W\'BLH69]. modelo linear de Kohonen e Anderson [Koh74, And68, And701, memória linear ótima (Optimal Linear Associative Memory-OLAM) [Koh89], modelo de Hopfield [Hop82, Hop84]. Descreveremos inicialmente o modelo não - linear de Willshaw [W BLH69] devido à sua grande importância histórica . Neste modelo , os pesos são binários e os neurônios executam funções de ativação não-lineares. Seguindo a ordem cronológica , será apresentado o modelo linear descrito por Kohonen e Anderson [Koh72 , And68, And70]. A idéia básica deste modelo é semelhante à do modelo de Willshaw , porém nos trabalhos de Kohonen e Anderson os rodos executam funções de ativação lineares. Tanto no modelo de Willshaw quanto no modelo linear de Kohonen e Anderson , o armazenamento se dá pela aplicação da regra de Hebb [Heb49 ]. Uma forma alternativa de armazenamento foi também descrita por Kohonen, sendo conhecida como OLAM ( Optim. al Linear Associative Memory) [Koh89], a qual será também descrita neste capítulo. Uma vez descritos os modelos básicos de memórias matriciais, é possível então promover uma mudança gradual para a descrição do modelo de Hopfield [Hop82, Hop84]. Neste, as saídas dos nodos são ligadas às entradas por meio de um atraso de tempo, o que dá ao mesmo características temporais. Em alguns casos na literatura, este modelo é classificado juntamente com outros modelos dinâmicos. Porém, devido às suas semelhanças com os modelos descritos ante77
riorinente, resolveu-se, por questões didáticas, descrevê-lo juntamente com as outras memórias matriciais.
5.2 Modelo não-linear de Willshaw As idéias propostas por Willshaw em sua tese de doutorado [Wi171] na Universidade de Edimburgo, Escócia, publicadas parcialmente dois anos antes na revista Nature [WBLH69]. foram influenciadas pelos trabalhos de Gabor sobre memórias associativas óticas [Wi171]. A idéia de Willshaw era construir memórias associativas com estruturas de uma única camada de neurônios não-lineares com conexões sinápticas binarias. Em outras palavras, os pesos binários indicam a existência ou não de conexão. Embora o modelo de Willshaw tenha uma boa capacidade de armazenamento para vetores de entrada e saída devidamente codificados, sua capacidade de generalização é limitada, como será visto mais adiante. De uma maneira genérica, uma memória matricial envolve a geração de um padrão de ativação no conjunto de nodos de saída em função do aparecimento de um determinado padrão de ativação de entrada. O mapeamento entre o padrão de ativação de entrada e o de saída é feito através de uma transformação matricial, que pode ou não ser acompanhada de uma operação não-linear, como é o caso do modelo de Willshaw. A Figura 5.1 mostra a estrutura genérica de uma memória matricial, onde podem ser identificados o grupo de neurônios de entrada A e o grupo de neurônios de saída B conectados através da matriz de pesos W. A matriz de pesos faz então a transformação entre o padrão de ativação dos neurônios A e B. Conforme citado anteriormente, a matriz de pesos do modelo de Willshaw é obtida através da regra de Hebb [Heb49] acompanhada de uma transformação não-linear para a obtenção de uma matriz de pesos binária. A regra básica para a obtenção dos elementos da matriz W através do armazenamento de um conjunto de associações p na forma [x', yi], onde xi representa o vetor de entrada e y' o vetor de saída, é mostrada a seguir na Equação 5.1.
Figura 5.1: Estrutura genérica de uma memória matricial. Os neurônios A correspondem ao padrão de ativação de entrada, e os neurônios B, ao padrão de ativação de saída.
produto Wxt`, conforme indicado na Equação 5.3. Segundo Willshaw [Wi171], o limiar da função 4)(x) deve ser igual ao número de elementos ativos em xµ, já que este é o valor máximo de cada elemento do vetor Wx# quando não há interferência na sua recuperação.
(Y`)F = D((Wx"))
(5.2)
Quando não há interferência no armazenamento, tem-se a situação ótima (y")' = yP. Esta interferência será tanto maior quanto maior for o número de associações armazenadas e quanto maior for a atividade' dos vetores de entrada e saída, o que leva a uma maior saturação da matriz de pesos. Para evitar esta saturação e uma capacidade de armazenamento e recuperação de informação pobre, Golomb, Rubin e Sompolinsky, propuseram a utilização de vetores esparsos de entrada e saída [GRS90]. Desta forma, é possível armazenar um número maior de associações com uma menor saturação da matriz de pesos. É também conhecido na literatura o modelo ADAM, que propõe uma modificação no modelo de Willshaw com o objetivo de aumentar a sua capacidade de generalização [AS87].
A recuperação do vetor yµ, dados o vetor de entrada xM e a matriz de pesos W, é obtida através da aplicação de uma função de limiar c(x) sobre o
'Por atividade aqui entende-se a relação entre o número de '-Is" e "Os" nos vetores de entrada e saída.
(5.1)
wij = 9(E yi`x^) u
onde u identifica uma associação e a função g(x) é definida pela Equação 5.2.
g(x)
{
0
78
x
<
1
1
79
5.2.1 Um exemplo de utilização da memória de Willshaw Considere os vetores indicados a seguir para gerem armazenados em unia memória de \Willshaw. As associações a serem armazenadas são [xl.yl] e [x2.y2].
y1
xl =
y- =
9
x- _
A matriz de pesos obtida aplicando-se a regra descrita nas Equações 5.1 e 5.2 é apresentada a seguir.
w =
0
0
1 1 1 0
1 0
0 0
1 0 1 0 .0 .0 1 1 1 0 0 0
0
0
0 0 0 0
0
0
1
0
1 0 1 0
0
0
1
0 1
0 1 0
0
0
0
0 1
1 1 0
0
0
0
0 0
0 0 0
0
0
0
0\
Suponha que agora se deseja recuperar a associação [x2. y2]. ou seja, dado o vetor x2, espera-se obter o vetor y2 na saída da rede na situação ideal., sem interferência no armazenamento. A aplicação da regra apresentada na Equação 5.3 resulta inicialmente em (Wx2) = (3 2 3 0 2- 2 3 0)T e então em (y2)' = (1 0 1 0 0 0 1 0)T após aplicação da função (D(x) com limiar igual a 3. O vetor obtido é exatamente igual ao vetor que se desejava recuperar, ou seja, a informação armazenada foi recuperada sem erro para este caso. O mesmo ocorre para a recuperação da associação [xl. y'], como o leitor poderá verificar.
\\'illshaw. Isto pode ser facilmente observado ao se considerar o armazenaincuto de uni terceiro par [x3 . y3]. onde x^1 = (1 1 1 1 1 1 1 1)T e y3 = (1 1 1 1 1 1 1 1)^ . Após a adição desta terceira associação. a aplicação da regra de aprendizado descrita em 5.1 leva a matriz W a ter todos os seus elementos em 1. Desta forma, a rede perde a sua capacidade de recuperar as associações [x'. y'] e [x2. ys]. O armazenamento da associação [x3. y3] causa então unia interferência destrutiva na recuperação das associações [x3 . Y'] e [x2 . y']. Portanto . o Nível de atividade dos vetores armazenados deve ser baixo . de forma a manter uni baixo nível de saturação da matriz de pesos e conseqüentemente unia boa capacidade de recuperação de informação [GRS90]. Como se pode ver nos resultados experimentais mostrados no gráfico da Figura 5.2. quanto maior a saturação da matriz W. menor a capacidade de recuperação de informação. Isto sugere que a predição da saturação da matriz de pesos ou . em outras palavras. da conectividade da rede é uma boa medida da capacidade de recuperação de informação da memória de Willshaw. Equações para prever a saturação da matriz W como função do nível de atividade dos vetores de entrada e saída foram apresentadas por Braga et al. [BAPT97]. Com as equações apresentadas. é possível prever qual deve ser o nível de atividade dos vetores de entrada e saída de fornia a manter a conectividade da rede dentro de determinados limites preestabelecidos , de forma a manter uma boa capacidade de recuperação de informação . Considerações sobre a capacidade de armazenamento considerando-se as distribuições dos vetores de entrada e saída foram feitas por Graham e «•illshaw [GW95].
5.3 Modelo matricial linear De maneira similar a outros modelos de memória matricial, a estratégia de treinamento para a memória matricial linear [Koh72. And68, And70] também se baseia na regra de Hebb [Heb49] para a geração da matrix de pesos W. Este modelo se diferencia daquele proposto por Willshaw, descrito na seção anterior, pelo fato de que não são aplicadas não-linearidades na matriz de pesos nem nas saídas dos nodos. A regra geral para a obtenção da matriz de pesos W para o armazenamento de p associações na forma [x', y'] é descrita na Equação 5.4. que nada mais é do que a Equação 5.1 escrita na forma de produto dos vetores y' e (xI')T e sem a não-linearidade g(x). P
5.2.2 Capacidade de recuperação de informação
W=
E y'(x/')T
{i=1
A saturação da matriz de pesos W leva então a uma deterioração da capacidade de armazenamento e à recuperação de informação da memória de 80
onde (xP')T é a transposta do vetor de entrada x1'. 81
v
0.00 -0.15 -0.29 0.88 xl =
0.1 0.2 0.3 0.4 0.5 0.6 0 . 7 0.8 0.9 1.0
a Figura 5 . 2: Relação entre a conectividade da rede e a capacidade de recuperação de informação da memória"de Willshaw para n = 16. Como se pode observar , quanto maior a conectividade , menor a capacidade de recuperação de informação . O fatora corresponde ao percentual de elementos ativos nos vetores de entrada e saída ( caso auto- associativo).
O elemento w2j da matriz de pesos é portanto a soma dos produtos de todos os elementos yµ e x^ , onde p = 1, 2, • , p. A Equação 5.4 pode também ser escrita, de maneira equivalente, na forma matricial W =- YXT, onde Y = [y', y2, • • • , yP] e X = [xl, x2, • • • , xP]. A recuperação de uma associação arbitrária [xt`, y!`] dado xF` é obtida através do produto de W por xF', de maneira análoga ao modelo de Willshaw, porém sem a aplicação da função de
-0.29 -0.15 0.00 0.00 0.00 0.00
y1
1.00 1.00 0.00 1.00 0.00 0.00 1.00 0.00 0.00 0.00
x2 =
0.00 0.00 -0.06 -0.09 -0.40 0.00 0.89 0.00 -0.30 -0.15
y2 =
0.00 0.00 0.00 1.00 1.00 1.00 0.00 0.00 0.00 0.00
A matriz de pesos resultante, segundo a Equação 5.4, pode então ser obtida pela soma- de produtos cruzados dos elementos dos vetores de entrada e saída: W = yl (xl )T + y2(X2 )T. Uma vez obtida a matriz de pesos, pode-se então recuperar uma determinada associação dado apenas o vetor de entrada. Considere, como exemplo, a recuperação do vetor y1, dado o vetor x1, que pode ser obtida através da regra (y1)' = Wx1. O vetor obtido (y')' _ (0.988 0.988 0.000 1.042 0.054 0.054 0.988 0 0 0)T se aproxima bastante do vetor desejado y1. A mesma operação realizada para o par [x2, y2] resulta em (y2)' = (0.054 0.054 0 1.131 1.076 1.076 0.054 0 0 0)T, que também é bastante próximo do vetor desejado y2. Como pode ser observado para ambos os casos, existe um termo residual para cada elemento do vetor obtido que parece deslocar o resultado da solução ótima. Este resíduo, que é inerente ao processo de armazenamento de informação pela regra de Hebb [Heb49], é função das representações vetoriais dos elementos nos espaços de entrada e saída. Como será visto na seção seguinte, este termo somente será nulo, resultando em recuperação ótima dos vetores de saída, quando os vetores x' forem ortogonais entre si.
ativação 1(x). Na seção seguinte será apresentado um exemplo de utilização da memória matricial linear.
5.4.1 O termo de crosstalk e sua influência na capacidade de recuperação de informação
5.4 Exemplo de utilização da memória matricial linear Como exemplo, considere os três pares de vetores indicados a seguir para serem armazenados em uma memória matricial linear. De maneira análoga ao exemplo dado para a memória de Willshaw na seção anterior, as associações a serem armazenadas são [xl, y1] e [x2, y2].
82
Conforme mostrado na seção anterior, a recuperação de informação no modelo linear depende de um termo residual, que é uma medida da forma de representação dos vetores de entrada e de quão ortogonais estes vetores são entre si. Este termo é conhecido como termo de crosstalk e está presente em quase todos os modelos de memórias matriciais. Uma expressão para o termo de crosstalk pode ser facilmente obtida das equações de armazenamento e recuperação de informação descritas na seção anterior. Considere que sejam armazenadas p associações na forma [x', y'], onde i = 1, 2, • • • , p. Conforme descrito anterior-
1
83
mente, a recuperação de uni vetor arbitrário y' pode ser obtida através da Equação 5.5: (Y') = Wx' Substituindo-se o valor de W resultante da Equação 5.4. obtém-se a Equação 5.6: v
(y')
Y'' (
_
utiliza produtos cruzados no armazenamento. Unia solução para anular o termo de cr•os.stalk é ortogonalizar os vetores de entrada. conforme mostrado de maneira esquemática na Figura 5.3 [BAP-97]. Embora esta solução proporcione unia capacidade de recuperação de informação ótima. o modelo assim obtido resulta em capacidade de generalização pobre [BAP+97]. Em modelos não-lineares, como é o caso de redes de Hopfield [Hop82], pode haver recuperação ótima. mesmo havendo termo de crosstalk não-nulo, como será visto mais adiante.
X,,) T xi
1i=1
Retirando do somatório acima o termo em que p = i, obténs-se a Equação 5.7, que representa a expressão genérica para recuperação de informação em memórias matriciais treinadas com a regra de Hebb.
Ortogonalização o
Memória matricial
1)
(Y')
= Y' (x')T X ' + Ê yr' (xr' )T xi =1
Para se obter recuperação ótima do vetor y'. ou seja, para que (yi)' = yi. deve-se ter (x')Tx' = 1 e o segundo termo da Equação 5.7 nulo. A primeira condição pode ser facilmente preenchida com a normalização dos vetores de
Figura 5.3: Ortogonalização como forma de melhorar a capacidade de armazenanlento de memórias matriciais lineares.
entrada x', já que (xi)Txi = (X1)2 + (X)2 + + x„ = 11X'112. Porém, a se-
gunda condição depende sempre dos produtos vetoriais entre todos os vetores de entrada x1' e o vetor chave x'. daí este ser chamado de termo de interferência cruzada ou termo de crosstalk. Portanto, este segundo termo depende da representação dos vetores de entrada e, obviamente, do número de vetores armazenado, já que se trata de uni somatório. Para que seja nulo, deve-se ter uma das duas condições satisfeitas: situação trivial em que somente uma associação é armazenada ou os vetores de entrada ortogonais entre si. Para o caso em que mais de uma associação é armazenada, que é a. situação almejada em RNAs, tem-se a expressão geral para recuperação de informação em memórias matriciais lineares com vetores de entrada normalizados apresentada na Equação 5.8.
(y') = y' + Py11( X )Tx, 1t=1
Portanto, o ruído na recuperação de informação neste modelo de RNA é inerente ao processo de armazenamento de informação por regra de Hebb, que 84
5.5 OLAM Posteriormente à descrição da memória matricial linear [Ko1172, And68, And70] na literatura, Kohonen e Ruohonen mostraram que há uma solução ótima para a matriz de pesos [KR73]. Apesar de não ter o mesmo apelo neurofisiológico da regra de Hebb [Heb49], esta solução, conhecida como OLAM (Optimal Linear Associative Meniory) [KR73, Koh89], permite o armazenamento da informação sem armazenar também o termo de crosstalk, que, como já visto, causa degradação na capacidade de armazenamento das memórias matriciais. O princípio básico da OLAM é a utilização de técnicas de inversão de matrizes para a solução da equação WX = Y, onde Y = [y1, y2, . • • , y1'] e X = [x1, X2,—. xr']. e p é o número de associações. Como se deseja obter os parâmetros W. unia vez conhecidos X e Y, a solução ótima para a matriz de pesos é apresentada na Equação 5.9, supondo a matriz X quadrada (n = p) e seus elementos xr' linearmente independentes. Obedecidas estas restrições, a recuperação de informação é ótima, ou seja, (y')' = yi
85
W = YX_1 (5.9) onde X-1 representa a inversa de X. Para a situação em que p < n e a independência linear entre os vetores de entrada é preservada, a solução ótima existe conforme Equação 5.10. W = y(XTX)-1XT (5.10) onde X* = (XTX)-1XT é a pseudo-inversa de X [KR73]. A pseudo-inversa minimiza a soma dos erros quadráticos HWX - Y112, proporcionando então solução ótima para a matriz de pesos W. Porém, caso haja dependência linear entre os vetores de entrada {xµ; u = 1, 2, • • • , p}, a pseudo-inversa não existirá, já que X terá rank incompleto [Leo94], e a equação WX = Y terá infinitas soluções. Neste caso, poderá ainda haver solução através da teoria de regularização [TA77], que visa à eliminação da singularidade que surge na obtenção da inversa (XTX)-1 da Equação 5.9.
5.5.1 Exemplo de utilização da OLAM Suponha, por exemplo , que se deseja armazenar em uma memória matricial linear com duas entradas e apenas uma saída as associações (x1, y1) e (x2,y2) considerando-se x1 = (0.1 - 0.2)T, y1 = 0.9, x2 = (0.7 0.3)T e y2 = 0.5. Como pode ser observado, os vetores de entrada x1 e x2 são linearmente independentes, o que implica a existência da inversa da matriz de entrada X = [x1, x2]. A aplicação imediata da regra de Hebb para o armazenamento com os vetores de entrada normalizados resulta na solução W = (0.8621 -0.6080) e conseqüentemente em W_" Ì = 0.9294 e W TiJ = 0.5528, que diferem um pouco das soluções exatas 0.9000 e 0.5000. Conforme descrito anteriormente, este erro é devido ao termo de crosstalk. Por sua vez, a solução segundo a OLAM resulta em W = (0.8031 - 0.6047), que implica W1-11 = 0.9000 e W Ti = 0.5000, que, por sua vez, correspondem às soluções desejadas. Mesmo sem a normalização dos vetores de entrada, a solução por OLAM resulta na solução ótima. Considere agora os vetores de entrada x1 = (0.3 -0.2)T e x2 = (-0.2 0.3)T que, como pode ser verificado, são ortogonais, e os mesmos vetores de saída y1 = 0.9 e y2 = 0.5. Para este caso, como tem-se x11x2, o crosstalk se anula e a solução encontrada por Hebb é a mesma da solução ótima encontrada pela OLAl\1: W = (1.0262 -0.0832). A dificuldade para se obter uma solução para 86
1.5
Figura 5.4: Visão esquemática das soluções encontradas pela OLAM e por regra de Hebb. Apesar de próximas nas superfícies de contorno, a solução por Hebb gera resultados distorcidos devido ao crosstalk que aparece durante a recuperação.
a matriz W surge quando há dependência linear entre os vetores de entrada. Por exemplo . considere agora os vetores de entrada x1 = (-0.4 - 0.6)T e x2 = (0.2 0.3)T. Como pode ser verificado , os dois vetores são linearmente dependentes , já que x1 = -2x2. Nesta situação , a pseudo-inversa não é definida, e a matriz W admite infinitas soluções, como pode ser observado no gráfico da Figura 5.5 . Para que haja solução através da pseudo - inversa, uma alternativa é a eliminação da singularidade que aparece na inversão da matriz X por meio da teoria da regularização [TA77]. Desta forma, seria possível calcular a inversa e obter uma solução para a matriz W através da Equação 5.10 acrescida do termo de regularização.
5.6 Modelo de Hopfield 0 modelo recorrente de Hopfield [Hop82], descrito em 1982, constituiu um grande avanço na fronteira do conhecimento em RNAs e deu o passo inicial
1
87
Com isto. Hopfield associou o seu modelo recorrente a sistemas físicos e abriu caminho para que as teorias correntes da Física sejam aplicadas diretamente para estudar as características do seu modelo. O armazenamento e recuperação da informação consistem então na criação de pontos fixos e em unia regra de atualização que defina a dinâmica (Ia rede. O modelo de Hopfield é inerentemente auto-associativo. ou seja, para que sejam criados pontos fixos através da recorrência. uni vetor é associado a ele mesmo. Os pares de treinamento estão organizados então na forma r = {x'. x }1,=1. onde p é o número de associações. Unia outra característica do modelo de Hopfield é que, na forma como foi descrito originalmente [Hop82], as saídas dos nodos são discretizadas (do tipo MCP) e somente podem assumir valores -1 ou +1, já que suas funções de ativação são do tipo degrau com saturação nestes valores. Posteriormente à descrição inicial. Hopfield mostrou que o modelo com saídas contínuas preserva as características do modelo discreto original [Hop84]. A Figura 5.6 mostra um diagrama esquemático da rede de Hopfield.
X1
Figura 5.5: Superfície de erro para o caso em que os vetores de entrada são linearmente dependentes. Como pode ser observado. há infinitos mínimos e, conseqüentemente, infinitas soluções para o problema.
- X1 R)
X2(Y-1 L -'
X3Q-1)^
para o ressurgimento do interesse pela área, que ficou adormecido por um período de mais de 10 anos. O modelo descrito por Hopfield nada mais é do que um modelo matricial não-linear recorrente, ou seja. as saídas estão ligadas às entradas por um atraso de tempo. De maneira análoga ao modelo de \Villshaw [NVBLH69], não-linearidades são aplicadas às saídas de cada uni dos nodos. A recorrência dá ao modelo características temporais que implicam que a resposta da rede dependa sempre do seu estado no intervalo de tempo anterior.
X3(r)
)Ç-1 Afraso -^ '
O grande avanço proporcionado pelo trabalho de Hopfield foi, na verdade, o fato de ter mostrado que um valor de energia pode ser associado a cada es-
Figura 5.6: Diagrama esquemático de uma rede de Hopfield.
tado da rede e que esta energia decresce de maneira monotônica à medida que unia trajetória é descrita no espaço de estados em direção a uni ponto fixo. Estes pontos fixos são, portanto, pontos estáveis de energia mínima criados através do processo de treinamento. Cada um dos pontos fixos corresponde a um atrator, e os pontos do espaço ao seu redor que resultem na estabilização da rede nestes atratores em tempo finito correspondem às suas bacias de atração.
O estado de uma saída arbitrária i no instante de tempo t + 1 é obtido através da soma ponderada das entradas menos o limiar, conforme descrito na Equação 5.11. Para manter a estabilidade da rede, evitando realimentações positivas, os elementos da diagonal da matriz de pesos wjj são nulos, ou seja. não existe conexão de um nodo para si mesmo. Desta forma, o próximo estado
88
89
da saída i é função da soma ponderada das saídas dos outros nodos no instante de tempo atual.
xi(t + l) = sgn
P E wijxj(t) - Bi j=t
(5.12)
(5.11)
onde Oi é o limiar da unidade i, xi o seu estado, e a função sgn(.) é definida pela expressão sgn(x)
= +1 -1
se x>O se x<0
A atualização das saídas é feita de forma assíncrona, ou seja, as saídas são atualizadas em tempos diferentes. Uma maneira prática de implementar este tipo de atualização é através da escolha aleatória de um dos k nodos a cada instante de tempo diferente. O nodo selecionado deverá atualizar a sua saída de acordo com a regra descrita na Equação 5.11. Dada uma matriz de pesos qualquer , a condição de estabilidade de um vetor x para esta matriz é sgn (> wjixj) = xi para todo i. Uma forma de satisfazer j esta condição é fazer wij oc xixj , o que equivale a se fazer o treinamento por regra de Hebb . Considere , por conveniência , a constante de proporcionalidade para esta equação como sendo , o que leva a wij = - xixj, onde k . é o número de nodos da rede. Assim, a condição de estabilidade é plenamente satisfeita, já que a expressão se transforma em sgn (- xixjxj) = xi, que é verdadeira j
para todo xi (observe que xi E {-1,+1} e xj E {-1,+1}). A divisão do vetor de pesos por k é equivalente a se normalizar os vetores de entrada x, que, conforme descrito nas seções anteriores, elimina parte do ruído na recuperação de informação em memórias matriciais com treinamento por regra de Hebb, que é o caso do modelo de Hopfield. Neste caso, considerou-se apenas um único vetor a ser armazenado, e a regra de armazenamento wij = -xixj para este vetor x garante a sua estabilidade. Nas seções seguintes será visto que esta regra pode ser facilmente extrapolada para o caso de armazenamento de p vetores.
5.6.1 Exemplo de operação da rede de Hopfield Considere como exemplo o armazenamento do vetor x = (-1 1 -1)T em uma rede de Hopfield. A matriz de pesos obtida é apresentada na Equação 5.12. 90
Pode-se observar facilmente que o vetor x é estável , já que a aplicação da regra de atualização sgn(> wjixj) é igual a xi para todo i. Por outro lado, pode-se j observar também que o inverso de x é também estável , já que a aplicação da regra acima para o vetor x = ( 1 - 1 1)T também faz com que todos os seus elementos sejam estáveis quando a rede é inicializada em R. Esta é na verdade uma característica inerente ao processo de armazenamento em redes de Hopfield . Tendo a rede sido iniciada em quaisquer um dos pontos x ou x, ela permanecerá nestes pontos indefinidamente. Estes são então os dois pontos fixos criados no espaço de estados através do armazenamento do vetor x. O espaço de estados da rede descrita acima ficará então dividido em duas regiões definidas pelas bacias de atração dos vetores x e R. Para verificar o processo de recuperação de informação, suponha. por exemplo, que a rede seja inicializada no estado inicial x(O) = (-1 - 1 - 1)T. Como a atualização dos nodos é assíncrona, os nodos a terem suas saídas atualizadas são escolhidos um de cada vez de maneira aleatória. Suponha, para efeito de ilustração do processo de recuperação de informação, que o primeiro nodo escolhido seja o nodo 2. A aplicação da regra de atualização descrita acima resulta em x(1) = (-1 1 - 1)T como sendo o próximo estado. no qual permaneceria indefinidamente, já que este é um dos pontos fixos no espaço de estados. Suponha agora que o primeiro nodo a ter sua saída atualizada seja o nodo número 1. Nesta situação, após a aplicação da regra de atualização, o próximo estado da rede passa a ser x(1) _ (1 - 1 - 1)T. Supondo agora que o próximo nodo a ser atualizado seja o nodo 2, o próximo estado da rede será x(2) _ (1 1 -1)T. Escolhendo agora o nodo número 3, tem-se que o próximo estado da rede será x(3) = (1 1 1)T. Finalmente. caso o nodo 2 seja agora escolhido, o estado final da rede será x(4) = (1 - 1 1)T, no qual permanecerá indefinidamente, já que este corresponde ao estado inverso x. que é também estável (Figura 5.7). Como pode ser observado nos dois exemplos anteriores, a trajetória descrita pela rede depende não somente do estado inicial x(0). mas também da seqüência de atualização dos nodos. Para o mesmo estado inicial, chegou-se a estados finais diferentes devido a seqüências de atualização diferentes. A
1
91
seqüência de atualização e. conseqüentemente, a trajetória descrita e o estado final da rede dependem da forma como os rodos são selecionados, ou melhor. da função de densidade de probabilidade adotada nesta seleção. Tem-se, assim. probabilidades associadas a cada uma das possíveis transições. sendo que a rede descreve. portanto. uma máquina de estados probabilística, tendo os estados x e x como pontos finais das possíveis trajetórias. Durante esta trajetória. conforme mostrado por Hopfield [Hop82], a energia associada aos estados da rede estará sempre descrescendo monotonicamente. conforme será descrito mais adiante.
5.6.2 Minimização de energia Conforme mostrado por Hopfield em seu trabalho original [Hop82]. é possível associar uni valor de energia para cada estado da rede. Esta energia varia de forma monotonicamente decrescente à medida que a rede evolui segundo a regra de atualização de suas saídas, conforme será descrito a seguir. Para a resolução do problema de memória associativa descrito nas seções anteriores, a função de energia associada aos estados da rede é apresentada na Equação
5.13: Wi.ix;x.i
O diagrama de estados com as respectivas probabilidades de transição para a máquina de estados formada para o exemplo anterior é apresentado na Figura 5.7 para o estado inicial x(O) = (-1 - 1 - 1)T. Como pode ser observado. dado o estado inicial x(0). a rede sempre se estabilizará em uni dos pontos fixos x ou X, que são também atratores no espaço de estados.
1 /3
(5.13)
Para verificar a forma da função de energia descrita pela Equação 5.13, considere unia rede com apenas dois nodos em que o vetor x = (-1 + 1)T é armazenado. Neste caso. conforme já descrito, o vetor x = (-1 +1)T também será estável. Espera-se. portanto, que a função de energia obtida através do armazenamento de x tenha dois mínimos: uni em x e o outro em R. A função de energia resultante do armazenamento de x segundo Equação 5.13 é apresentada na Figura 5.8, onde podem ser observados os dois mínimos referentes a x e R. A descrição de unia trajetória no espaço de estados limitado pelos pontos (-1. -1). (-1. +1). (+1. +1), (+1, -1) descreve também uma trajetória correspondente sobre a superfície de energia. Como a variação desta superfície de energia é monotonicamente descrescente, a rede se estabilizará em uni tempo finito em um dos dois mínimos.
1,3
Para unia rede de dimensão arbitrária k, é fácil mostrar que a energia varia sempre de forma monotonicamente decrescente. Para o caso genérico. considere agora que um nodo da rede 1 mude a sua saída do valor atual .rj para o novo valor xl', onde .rj e xi' somente podem assumir os valores +1 ou -1. A variação de energia resultante desta mudança de estado pode ser descrita de forma genérica pela Equação 5.14.
AE=Et' - E,•, Figura 5.7: Máquinas de estados formada após o armazenamento de x = (-1 1 - 1)T a partir do estado inicial x(O) = (-1 - 1 - 1)T.
(5.14)
onde Et ^ representa a energia da rede para o valor atualizado x1 e EX, para o valor corrente XI. A Equação 5.14 pode então ser reescrita na forma apresentada pela Equação 5.15 e então simplificada para a forma da Equação 5.1.6.
92
93
trário a xt, o que implica que para qualquer transição xt --> xít tem-se DE < 0, o que completa a nossa demonstração . Assim, -tem-se que a função de energia sempre diminui quando xt = x'1 e permanece constante quanto xt = xt, ou seja, a função de energia varia de forma monotonicamente decrescente, como se queria demonstrar.
5.6.3 Capacidade de armazenamento Conforme mostrado anteriormente, a condição de estabilidade do bit i do vetor xt é representada pela Equação 5.18, que, conforme Equação 5.8, se reduz à Equação 5.19:
1.0
xi = sgn
xi = sgn
Figura 5.8: Superfície de energia resultante do armazenamento do vetor x = (-1 1)T em uma rede de Hopfield com dois nodos. Os mínimos de energia correspondem ao ponto x = (-1 1)T e seu inverso x = (1 - 1)T
wi.l xtj .
xi + N
xmx7 xi
(5.18)
(5.19)
m#1
Para que haja instabilidade de x^1, é preciso que o termo de crosstalk C.2 da Equação 5.19 tenha sinal contrário de x^ e que seja maior do que este em módulo. Isto pode ocorrer em uma das duas situações seguintes : xt = -1 e Cr > 1 ou x; = +1 e Cr < - 1. Portanto , a probabilidade de haver erro no nodo x^, pode ser descrita de forma genérica pela Equação 5.20
AE_ -2 (W12XIX2 +...+W1kxlxk.+W21x2x1 +...+w2kx2xk +... u'tlxtxl + ... + wtkxtxk + ... + wklxkxl + ... + Wk(k-1)xkxk-1)+
Perro = P(x^ = -1)P(Cr > +1) + P(xI = 1 )P(Cr. < -1)
(5.20)
1 (ZV12x1x2 + ... + Wlkxlxk + W21x2x1 + ... + w2kx2xk + ... WI1xtxl + ... + wtkXtxk + ... + wklxkxl + ... +Wk(k_1)xkxk-1)
(5.15) 1 DE=-2xiwlixi+ 2xt^wtixi
(5.16)
Considerando- se agora que xj = -xt , a Equação 5 . 16 pode ser reescrita conforme apresentado na Equação 5.17. AE = xi
Sabe-se no entanto que xt = sgn
E
Perro = 1 P(Cr > 1) + 1 P(Cr < -1) 2 2
(5.21)
(5.17)
Torna-se necessário, portanto, determinar a função de densidade de probabilidade de Cr para que as probabilidades P(Cr > 1) e P(C,. < -1) possam ser estimadas. Considerando-se que no somatório que define Cr na Equação 5.21
ou seja, E wlixi tem sinal con-
2Conforme mostrado pela Equação 5.8, o termo de crosstalk corresponde ao segundo termo dentro da função sgn(.) da Equação 5.19.
2l)1ixi
wtixi
Considerando vetores x escolhidos de maneira aleatória, tem-se que P(xi = -1) = P( x = 1) = 12. Portanto , a Equação 5.20 pode ser escrita na forma apresentada na Equação 5.21.
94
1
95
1' seja o número de ocorrèncias de ls e kp seja o número total de termos do somatório para A• nodos e p vetores armazenados, teia-se que a expressão para C,. pode ser reescrita na forma apresentada na Equação 5.22:
a função dentro cia integral foi obtida através da função de densidade de probabilidade padrão para unia distribuição normal com média Er X] e variância
Cr = Y- (h•P - Y)] = k [2Y - kp]
1 f C, , 2,2 ^ du P^rró = P(C,r > 1) _ e + 27ra'(C,_)
(5.22)
Considerando-se que os vetores armazenados são escolhidos de maneira aleatória . tens-se que P(Y) pode ser definido pela distribuição binomial [Fe150] descrita pela Equação 5.23: _ ^•p 1 ^'^' P())-(1
(5.23)
A distribuição binomial definida por 5.23 pode ser aproximada por tinia distribuição normal com média E[Y: = 1 e variância Q-(1') _ [Fel50]. Então. a média do termo de cros.sta11 pode ser obtida pela Equação 5.22 e pelas expressões para E[YI e O valor médio de C, pode ser então descrito pela Equação 5.2-1: E[C i21' - kh)] = 0 (5.24) De maneira análoga, a variância de C, pode ser também obtida conforme mostrado nas equações seguintes.
or 2.C1] = E'(Cr)2] - E2[C,.]
(5.25)
o2[C.] = E [(2Y - kp)) 2] - 0
(5.26)
Q'[C,.] _ , {4E[1''] - 4kpE[Y] + kp2} ( 5.27) Tem-se p orém que E [y2 ] =a2 +[E2 ( 1' ] ] _Y 41 + (^N) d que nos leva à expressão final para a variância de Cr apresentada na Equação 5.28:
01 2[x]=P
(5.28)
Temi-se , finalmente . que C, é uma variável aleatória distribuída conforme uma distribuição normal com média 0 e variância 2 . Como se trata de uma distribuição normal . tem-se que a mesma é simétrica em relação ao seu ponto médio, o que leva a P(Cr > 1) = P(Cr < -1) na Equação 5.21. Portanto, a Equação 5 . 21 pode ser reescrita na forma apresentada na Equação 5.29, onde 96
+x
(5.29)
Pela lei dos grandes números [Fe150], o valor de Pr,.,.,, obtido na Equação 5.29 representa o percentual do total de k nodos que deverão ter suas saídas instáveis. Desta forma, é possível estimar o número máximo P,,,,,,,. de vetores que podem ser armazenados de forma tal que o erro total na rede seja baixo. ou seja. que o número total de nodos instáveis esteja abaixo de uni determinado limite preestabelecido. Este efeito pode ser obtido ajustando-se o valor de na Equação 5.29. o que, obviamente. afeta o valor de P,,.,.,, e consegiientemente o número de nodos instáveis. Pode-se. assim. estimar o percentual do número de nodos k de vetores que podem ser armazenados. Por exemplo. para P,,.,.,, < 0. 01 o valor percentual máximo de vetores que podem ser armazenados em relação ao número de nodos é de aproximadamente 13.8W. Em outras palavras. para unia rede de, por exemplo. 100 nodos, deve-se armazenar no máximo 13 vetores para garantir uni percentual de erro menor que 1%. Existem vários trabalhos na literatura que tratam da capacidade de armazenamento de redes de Hopfield [\IPRV87. Per88, PGD85. Gar87]. Estes trabalhos utilizam diferentes técnicas para estimar a capacidade de armazenamento. encontrando também valores estimados diferentes para a mesma.
5.7 Conclusão Este capítulo apresentou os principais modelos de memórias matriciais. desde o modelo histórico de Willshaw até o modelo recorrente de Hopfield. Por utilizarem basicamente conceitos de álgebra linear para definir suas matrizes de pesos e por terem somente urna camada de nodos, estes modelos são relativamente fáceis de serem entendidos. Após a apresentação de RNAs com aprendizado supervisionado nos capítulos anteriores, este capítulo apresentou exemplos de modelos de RNAs em que o aprendizado é do tipo nãosupervisionado, e cujos conceitos básicos servirão de base para o estudo das redes auto-organizativas no próximo capítulo.
97
5.8
Exercícios
Para os dois exercícios que se seguem, implementar em programa de computador as rotinas para as soluções das questões propostas. 1. Implementar uma rede para o reconhecimento de caracteres utilizando memória matricial não-linear de Willshaw (objetivo: verificar o desempenho do modelo de Willshaw no reconhecimento de caracteres), percor-
Capítulo 6
rendo os seguintes passos: a. implementar rotina de multiplicação de matrizes; b. definir matrizes de caracteres de entrada e saída (treinar no modo auto-associativo, ou seja, vetor de saída = vetor de entrada);
Redes Self-Organizing
c. armazenar o conjunto de caracteres e verificar a sua recuperação; d. análise dos resultados em termos de capacidade de recuperação e generalização (recuperação de versões ruidosas dos caracteres originais); e. sugerir estratégias para melhorar o desempenho deste modelo (vide método de ortogonalização para memórias lineares). 2. Ortogonalizar dados em memórias matriciais lineares (objetivo: verificar a melhoria na capacidade de armazenamento através do método de ortogonalização de Gram-Schmidt). percorrendo os seguintes passos: a. implementar rotina de multiplicação de matrizes; b. definir vetores de entrada e saída de forma randômica; c. normalizar vetores de entrada e saída e armazená-los; d. ortogonalizar os vetores armazenados acima e armazenar numa nova matriz; e. comparar capacidade de recuperação e generalização.
Este capítulo será dedicado a uma classe de RNAs que possuem a capacidade de auto-organização, sendo por isto chamadas de redes self-organizing ou auto-organizativas. Após apresentar as principais características destas redes, duas representantes desta classe, as redes SOM [Koh89] e as redes ART [CG88, CG87a, CG90], serão analisadas em detalhes. Ao longo deste capítulo, serão discutidas as principais aplicações que foram desenvolvidas utilizando estes modelos. Uma das principais características das RNAs é a sua capacidade de aprender através de exemplos, sem a necessidade de serem explicitamente programadas. Redes que utilizam o paradigma de aprendizado supervisionado, em que um supervisor externo fornece informações sobre respostas desejadas para os padrões de entrada, limitam o seu campo de aplicação àqueles onde estes dados são conhecidos. Existem várias aplicações em que é necessário que a rede seja treinada sem um supervisor externo ou punição/recompensa. Nestes casos, a única informação fornecida está no conjunto de padrões de entrada. Desta forma, estas redes definem seus parâmetros por si próprias, sem auxílio externo. Esta é a idéia central dos modelos self-organizing, os quais utilizam o paradigma de aprendizado não-supervisionado. Estes algoritmos utilizam um conjunto de regras de natureza local para o ajuste dos pesos. As redes self-organizing são mais semelhantes às estruturas neurobiológicas que as redes supervisionadas. A estrutura básica de modelos self-organizing é formada por uma camada de entrada, fonte, e uma camada de saída, representação. Existem também estruturas com várias camadas, em que o processo self-organizing segue de camada em camada [Fuk75, Fuk80]. Estes modelos
98
1
99
utilizam conexões feedforumrd entre cada camada e a camada seguinte, além de. em vários casos, conexões inibitórias entre nodos da camada de saída.
de Hopfield [ HopS2]. Linsker [Lin86c, Lin86a. Lin86b] e redes PCA (Principal Co m. ponent Analysis) [BH89].
RNAs self-organizing possuem uni amplo leque de aplicações potenciais. principalmente em problemas de reconhecimento de padrões e categorização de dados em que as classes não são conhecidas a priori.
acompanham os seguintes princípios:
Uni dos princípios da utilização de modelos self-organ :ing para problemas de reconhecimento de padrões é o de que padrões que compartilham características comuns devem ser agrupados. com cada grupo de padrões representando unia e apenas unia classe (embora unia mesma classe possa ser representada por mais de um agrupamento). Para realizar este agrupamento. um algoritmo self-organizing precisa encontrar características ou padrões significativos nos dados de entrada. sem o auxílio de uni professor ou crítico externo. Isto é possível apenas se Houver redundância nos dados de entrada. Enquanto a redundância fornece conhecimentos à rede sobre similaridades e diferenças entre estes dados, a ausência de redundância torna impossível encontrar padrões ou características nos padrões. A ausência de redundância torna os dados semelhantes a ruídos aleatórios. Existem vários modelos de R\As self-organizing. cada uni com suas peculiaridades e propósitos. Com relação ao algoritmo de treinamento utilizado. eles podem ser divididos em dois grandes grupos:
De acordo com von der l\Ialsburg [d.\I73]. os algoritmos self-organizing
• Modificações dos pesos associados às conexões tendem a atunentar estes pesos. • Limitações de recursos levam à competição entre as sinapses e à seleção das mais aptas em detrimento das outras. • Diferentes modificações nos pesos tendem a cooperar entre si. Os três princípios expostos acima referem-se à rede. Para que seja desenvolvida unia função de processamento útil durante o processo de aprendizagem, é necessário que haja redundância nos padrões de entrada. Segundo Barlow [Bar89]: • A redundância dos padrões de entrada fornece o conhecimento incorporado à rede. • Parte deste conhecimento pode ser obtida por meio da observação de parâmetros estatísticos (média, variância e matriz de correlação do vetor de entrada). • Ao incorporar este tipo de conhecimento, a rede aprende a distinguir
• aprendizado competitivo:
padrões nos dados de entrada.
• aprendizado hebbiano.
• Este conhecimento é necessário para o aprendizado não-supervisionado.
Quando o aprendizado competitivo é utilizado, os nodos competem entre si pelo direito de atualizar seus pesos. Estes algoritmos de aprendizado têm sido mais utilizados em problemas de classificação, de extração de características, compressão de dados e formação de clusters (agrupamentos). Exemplos de redes que utilizam aprendizado competitivo são os modelos ART [CG88, CG87a. CG90] e SOM [Koh89]. O aprendizado hebbiano, por outro lado, é baseado no princípio para atualização dos pesos proposto pelo neurofisiologista Hebb em The Organization of Behaviour [Heb49]. As principais áreas onde este algoritmo tem sido utilizado são extração de características, análise de dados e memória associativa. Exemplos de Redes que utilizam esta forma de aprendizado são os modelos 100
Diversas redes têm sido desenvolvidas obedecendo os princípios apresentados acima, podendo assim ser caracterizadas como redes self-organizing. Um dos primeiros modelos de rede self-organizing foi proposto por von der Malsburg [dM73]. Von der Malsburg propôs uma simples RNA self-organizing que, treinada com um algoritmo de treinamento muito simples, reproduz as propriedades funcionais de algumas células encontradas no córtex visual. Os modelos de redes self-organizing analisados neste capítulo são os mapas self-organizing de Kohonen [Koh89], baseados em aspectos neurofisiológicos. e a família de redes ART de Grossberg e Carpenter, baseadas na Teoria de Ressonância Adaptativa [CG88, CG87a, CG90].
101
Os mapas self-organizing de Kohonen [Koh89], também conhecidos como redes de Kohonen ou redes SOM, utilizam o aprendizado competitivo e assumem uma estrutura topológica entre seus nodos. Esta propriedade, embora observada no cérebro, praticamente não é utilizada em outros modelos de RNAs. A família de redes ART possui forte inspiração biológica e cognitiva. A primeira rede ART proposta, a rede ART 1 [CG87b], trabalha apenas com valores binários. Posteriormente foi desenvolvida a rede ART 2 [CG87a], que se diferencia da ART 1 por permitir também valores de entrada contínuos. Outros modelos da família ART são as redes ART 3 [CG90], ARTMAP [CGR91a], Fuzzy-ART [CGR91c] e Fuzzy-ARTMAP [CGM+91]. Redes self-organizing têm sido utilizadas para problemas tão diversos como: • Mapeamento da voz para comandos de datilografia [Koh88];
Uma alternativa para solucionar este problema seria retreinar a rede com os novos padrões. de entrada. Entretanto, isto pode levar à perda de informações aprendidas anteriormente. Para preservar o conhecimento previamente apren dido, um algoritmo de aprendizado de RNAs deve ser não somente plástico, mas também estável [HKP91]. Uma outra solução seria retreinar a rede freqüentemente com os novos e os antigos padrões. Isto resolveria o problema, mas está longe de representar uma solução viável. Este conflito é conhecido como dilema estabilidade-plasticidade [Gro76b, Gro76a], e envolve as seguintes questões: • Como um sistema de aprendizado pode ser projetado para se adaptar indefinidamente em resposta a padrões significativos e ainda assim continuar indiferente a padrões irrelevantes? • Como pode um sistema de aprendizado preservar conhecimento previamente adquirido enquanto continua a aprender conhecimentos novos?
• Reconhecimento de padrões [CG88];
• O que evita que um novo conhecimento se superponha a conhecimentos prévios?
• Previsão [LK89]; • Monitoramento de qualidade de água [MDC95]. Detalharemos nas seções que se seguem cada um dos modelos apresentados acima.
6.1 Redes ART Uma das mais importantes características das RNAs é a sua habilidade de generalização, ou seja, produzir respostas para padrões de entrada que são similares, mas não idênticos, aos padrões apresentados à rede durante o seu treinamento [Fau94]. Quando uma rede multicamadas é treinada com o algoritmo back-propagation, por exemplo, espera-se que ela forneça como resposta a classificação correta correspondente ao padrão de entrada, e que ela continue a responder satisfatoriamente a quaisquer padrões de entrada apresentados futuramente. Entretanto, o conhecimento a respeito de determinado domínio do mundo real pode se modificar ao longo do tempo. O mesmo acontece com os padrões de entrada de uma RNA, que podem se modificar com o tempo para acomodar mudanças ocorridas. Assim, para um número de aplicações, o desempenho da rede pode decair gradativamente à medida que o tempo passa, uma vez que os pesos definidos na fase de treinamento não refletem as novas situações. Para adaptar novos padrões de entrada indefinidamente, um algoritmo de aprendizado de RNAs deve ser plástico [HKP91].
102
Como foi dito antes, em aplicações do mundo real é comum ocorrerem mudanças inesperadas nos padrões de entrada. É necessário então um modelo de RNA incremental, que não precise recomeçar seu treinamento do ponto inicial a cada vez que aparecem novos padrões de entrada e que preserve o conhecimento adquirido antes. Uma família de RNAs denominada ART (Adaptive Resonance Theory) foi desenvolvida para solucionar o dilema estabilidadeplasticidade [Gro76b, Gro76a]. No decorrer deste capítulo, os principais aspectos das redes ART são descritos a seguir, enfatizando a rede ART 1 [CG87b], primeiro modelo desenvolvido.
6.1.1 Arquitetura básica da rede ART 1 A arquitetura básica de ART 1 envolve duas camadas de nodos. Uma camada de entrada, F1, que processa os dados de entrada, e uma camada de saída, F2, que agrupa os padrões de treinamento em clusters (ver Figura 6.1). Estas duas camadas estão conectadas por meio de dois conjuntos de conexões que conectam cada nodo de uma camada a todos os nodos da outra. O primeiro conjunto, representado por conexões feedforward, w, assume valores reais e segue da camada de entrada para a camada de saída. O segundo conjunto, que contém as conexões de feedback, b, assume valores binários e conecta os nodos da camada de saída aos nodos de entrada. Assim, o nodo i da camada de entrada está conectado ao nodo j da camada de saída através do peso wj».
1
103
Controle l Camada de
W
T
A unidade de controle C, assume o valor 1 se tuna entrada válida for apresentada à rede e 0 após desabilitar os rodos da camada de saída e ressetar seus estados de ativação para 0. Entre a camada de entrada e a camada de saída existe um mecanismo de reset. responsável por verificar a semelhança entre um vetor de entrada e um dado vetor protótipo. utilizando um limiar de vigilância (p). Este limiar de vigilância determina se um padrão de entrada pode ser incluído em um dos clusters existentes. A próxima seção apresenta o treinamento da rede ART 1.
o o e o o
6.1.2 Treinamento
Controle 2^ o o
0'0 0
Õ Entrada
Figura 6.1: Arquitetura básica da rede ART. que possui duas camadas, uma de entrada e a outra de saída. duas unidades de controle e uni mecanismo de reset.
Igualmente. o nodo j da camada de saída está conectado ao nodo i da camada de entrada através do peso b;, Existem também, entre os nodos da camada de saída, pesos que atuam como inibidores laterais. Os pesos feedforward e feedback são também conhecidos como filtros adaptativos por adaptarem dinamicamente seus valores para possibilitar o aprendizado de novos padrões. O vetor de pesos feedback associado a cada rodo da camada de saída pode ser visto como um protótipo ou exemplo dos padrões pertencentes ao cluster representado por este nodo. A rede também possui um conjunto de pesos bipolares não-adaptáveis entre os nodos da camada de saída. O peso entre dois nodos da camada de saída é -1 se este liga dois nodos distintos e +1 se ele liga sua saída a si mesmo. Para cada camada da rede ART 1 há uma unidade externa de controle , unidade Cl para a camada de entrada e unidade C2 para a camada de saída. A unidade Cl determina o fluxo de dados para a camada de entrada . Assume o valor 1 se uma entrada estiver sendo apresentada à rede e o valor 0 se algum nodo da camada de saída está ativo. A unidade C2 tem duas funções:
O algoritmo de aprendizado da rede ART 1 é não-supervisionado e pode ser ativado a qualquer momento. permitindo que a rede aprenda novos padrões continuamente. Esta característica resolve o problema plasticidade-estabilidade. Há dois tipos de treinamento para a rede ART 1: aprendizado rápido e aprendizado lento. No aprendizado rápido. os pesos feedforua•d são setados para seus valores ótimos em poucos ciclos. geralmente em apenas uni ciclo de treinaniento. No aprendizado lento, os pesos são ajustados lentamente em vários ciclos de treinamento, possibilitando uni ajuste melhor dos pesos da rede aos padrões de treinamento. A rede ART 1 é muito sensível a variações em seus parâmetros durante o treinamento. O parâmetro mais crítico é o limiar de vigilância (p) que controla a resolução do processo de classificação. Se p assume um valor baixo (< 0.4). a rede permite que padrões não muito semelhantes sejam agrupados no mesmo cluster, criando poucas classes. Se a p for atribuído um valor alto, pequenas variações nos padrões de entrada levarão à criação de novas classes. Antes de a rede ART 1 ser treinada, seus pesos e parâmetros precisam ser inicializados. Todos os pesos de feedback (b) são inicializados com o valor 1, indicando que todo nodo da camada de saída está inicialmente conectado a todo nodo de entrada através de uma conexão feedback. Os valores iniciais do vetor de pesos feedforward (w) são determinados pela Equação 6.1: _ wji(0 )
1 1+ndi.i
onde n é o número de nodos de entrada da rede. O limiar de vigilância (p) é também inicializado. assumindo um valor dentro do intervalo 0 < p < 1.
• Determinar o fluxo de dados para a camada de saída. • Habilitar ou desabilitar nodos da camada de saída. 104
O processo de aprendizado em ART 1 envolve algumas fases, tais como reconhecimento , comparação e busca. 105
Reconhecimento Cada nodo da camada de entrada pode receber três sinais: um sinal do vetor de entrada, um sinal de feedback da camada de saída e um sinal da unidade de Controle Cl. Um nodo da camada de entrada somente será ativado se receber pelo menos dois sinais excitatórios; caso contrário, a ativação não ocorre. Esta regra é denominada regra dos dois terços (2/3). Na fase de reconhecimento, o vetor de entrada e o sinal de controle Cl são enviados à camada de entrada, onde será aplicada, a cada nodo, a regra dos 2/3. O vetor resultante é comparado com todos os vetores de pesos feedforward, w, para encontrar o mais semelhante. Esta comparação é realizada calculando o produto interno entre o vetor d resultante e o vetor de pesos feedforward para cada nodo da camada de saída, como indica a Equação 6.2. yj = wjixi
(6.2)
i
onde yj é a ativação do nodo de saída j, definido pelo produto interno entre seu vetor de pesos wj e seu vetor de entrada x. O nodo da camada de saída com maior valor de ativação é selecionado como provável cluster para armazenar o novo padrão. A inibição lateral faz com que somente o nodo vencedor da camada de saída fique ativo. O nodo selecionado envia à camada de entrada seu protótipo, ou seja, seu vetor de pesos b.
vetores e comparando o resultado desta razão com o limiar de vigilância p. Se P for maior que p, então o padrão de entrada é incluído no cluster do nodo da camada de saída ativado. Caso contrário, outro nodo da camada de saída deverá ser encontrado para armazenar o vetor de entrada, e a rede entra na fase de busca.
P=
Exi11 Busca Durante esta fase, a rede procura selecionar um novo nodo da camada de saída para representar.o vetor de entrada corrente. O nodo da camada de saída rejeitado na fase de comparação anterior é impedido de participar desta seleção. Para isto, este nodo é desabilitado, levando seu valor de saída para 0. O vetor de entrada é reapresentado, e a rede entra novamente na fase de comparação, que termina com o teste no mecanismo de reset para determinar a similaridade entre o novo protótipo escolhido e o padrão de entrada atual. Este processo é repetido, desabilitando nodos da camada de saída, até encontrar um nodo de saída que melhor se assemelhe ao vetor de entrada corrente, dentro dos limites do limiar de vigilância p. Se nenhum nodo de saída for encontrado, o vetor de entrada é então considerado de uma classe desconhecida, sendo alotado um nodo de saída "livre' (que não esteja associado ainda a nenhum cluster) para representá-lo. O algoritmo de aprendizado lento do modelo ART 1 é resumido a seguir.
Comparação Conforme descrito anteriormente, cada nodo da camada de entrada pode receber três sinais: do vetorlde entrada; do vetor do protótipo do nodo de saída selecionado na fase de reconhecimento, e da unidade de Controle Cl, que neste instante é igual a 0, uma/vez que um nodo foi ativado na fase de reconhecimento. A regra dos 2/3 é aplicada novamente, resultando na ativação ou não de cada nodo da camada ide entrada. Como o sinal da unidade de Controle Cl é igual a 0, ocorre uma operação AND entre o vetor protótipo do nodo selecionado e o vetor de entrada, produzindo um novo vetor,. chamado vetor de comparação, z. Este vetor é enviado para o mecanismo de reset juntamente com o vetor de entrada.
1. Inicializar pesos e parâmetros 2. Repetir 2.1 Para cada padrão de treinamento x faça 2.1.1 Definir nodo vencedor 2.1.2 Comparar protótipo do vencedor com a entrada 2.1.3 Se comparação > limiar-de vigilância Então atualizar os pesos do nodo vencedor Senão desabilitar nodo Se ainda existir nodo habilitado
O mecanismo de reset é responsável por testar a similaridade entre o vetor de entrada e o vetor de comparação. O teste é feito calculando a razão P, por meio da Equação 6.3, entre o número de valores iguais a 1 de ambos os 106
xizi,jll
1
Então voltar a 2.1.1 Senão alocar novo nodo ao padrão de entrada e 107
F2
Padrões originais Padrões transformados 1,01!1 1
101 1
010i
1
0!1 11
o
Saída
o 1 0 o o
1 0 01 0
1 e
1
1
Controle 1
1
e e e 1 0I
Figura 6.2: Transformação dos padrões de entrada. Enquanto a primeira metade do padrão transformado corresponde ao padrão original, a segunda metade é obtida complementando os valores da segunda metade.
atualizar seus pesos 2.1.4 Habilitar nodos desabilitados 3. Até o mapa de características não mudar Para o melhor funcionamento da rede ART 1. aconselha-se que os padrões de entrada tenham a mesma quantidade de valores iguais a 1. Isto ocorre devido ao mecanismo de comparação utilizado, em que o número de bits iguais a 1 no vetor de entrada influencia o resultado da comparação. Uma forma simples de obter esta igualdade, proposta em [Fau94], consiste em dobrar o número de elementos dos vetores de entrada, onde o valor de cada novo elemento do vetor transformado seria o complemento dos valores do elemento correspondente na metade original. A Figura 6.2 ilustra este procedimento. Exemplo Uni exemplo será apresentado a seguir para auxiliar a compreensão do aprendizado da rede ART 1. Neste exemplo, a rede possui quatro nodos na camada de entrada e, inicialmente, um nodo na camada de saída, C1 e C2 são iguais a 0, o parâmetro de vigilância é igual a 0.6, os pesos feedback para o nodo de saída possuem os valores [0, 1, 1, 1], e os pesos feedforward são todos iguais a 0.25.
108
1
Io
01 1
1 o Entrada
Figura 6.3: Passo 1.
O vetor de entrada x é aplicado à camada de entrada (Fi), conto pode ser visto na Figura 6.3. A regra dos 2/3 determina a resposta da camada de entra.da para o padrão de entrada. Neste ponto. cada nodo da camada de entrada recebe dois sinais excitatórios: uni sinal do vetor de entrada x e um sinal de Q, significando que há uma entrada válida para a rede. Os sinais excitatórios correspondem ao valor 1, e os sinais inibitórios correspondem ao valor 0. Na Tabela 6.1 é mostrado o resultado, vetor x', definido após a aplicação da regra dos 2/3. O vetor x' é comparado com os pesos feedforward de cada nodo da cansada de saída. Isto é feito calculando o produto interno entre estes vetores utilizando a Equação 6.2. Tabela 6.1: Resultado da primeira aplicação da regra dos 2/3. Entrada (x')
C1
Resultado (B)
0
1
0
1 1
1 1
0
0
O nodo selecionado como vencedor (nodo com maior produto interno) envia seu protótipo para a camada de entrada F1 e inibe C1, setando seu valor para 0. A camada de entrada recebe três sinais: do vetor de entrada, do rodo
109
F2
F2
1 Saída
Saída
Controle 1
F1o 1
Controle 1
o
1
o
1
o
o
o Entrada
1111 o
1
1
1
o Entrada
Figura 6.4: Passo 2.
Figura 6.5: Passo 3.
vencedor da camada de saída e de C1 , como pode ser visto na Figura 6.4. O resultado , após aplicada a regra dos 2/3, pode ser visto na Tabela 6.2.
onde A é o operador lógico E e L é um parâmetro (L > 1) utilizado na atualização dos pesos feedforward. Quando a razão (P) é menor que p, R dispara e inibe o nodo ativado da camada de saída, como pode ser visto na Figura 6.5.
Tabela 6.2: Resultado da segunda aplicação da regra dos 2/3.
Neste caso, o padrão de entrada será atribuído a outro nodo da camada de saída. Após a aplicação do próximo vetor de entrada à rede, a unidade de Controle C2 habilita todos os nodos desabilitados da camada de saída para que. eles voltem a competir entre si.
Entrada (x)
Pesos Feedback
Cl
Resultado (B)
o
o
o
o
1 1
1 1
0 0
1 1
o
1
0
o
6.1.3 Outros modelos ART
O vetor de comparação z e o vetor de entrada x são enviados ao mecanismo para o teste de vigilância. A razão (P) entre estes dois vetores é reset de calculada pela Equação 6.3, produzindo o valor 1. Esta razão é comparada ao limiar de vigilância (p). Como 1 é maior que 0.6, o vetor de entrada pode ser armazenado no cluster associado ao nodo vencedor. Em seguida, os vetores de pesos do nodo vencedor são ajustados para incorporar as características do vetor de entrada corrente. Isto é feito pelas Equações 6.4 e 6.5: bij(t + 1) = bij (t) Axi( t)
w (t -1- 1) _
L * xi(t)
J` L - 1 + E bij ( t) A xi (t)
110
(6.4)
O primeiro modelo da família ART a ser desenvolvido foi a rede ART 1 [CG87b]. Conforme já visto, esta rede trabalha apenas com padrões de entrada binários. Entretanto , vários problemas do mundo real utilizam dados contínuos. Em vista disto, foi desenvolvida a rede ART 2 [CG87a]. Esta rede também aceita padrões de entrada com valores contínuos . A diferença entre as redes ART 1 e ART 2 está na camada F1, que precisa ser mais complexa para realizar o pré-processamento necessário para acomodar os padrões de entrada de valores contínuos. A rede ARTMAP [ CGR91a] é uma rede mais sofisticada que permite o aprendizado incremental supervisionado . Este modelo é composto por duas sub-redes ART 1: ARTQ e ARTb. Durante o treinamento de ARTMAP, o módulo ARTQ recebe um padrão de entrada a(P) e o módulo ARTb recebe um padrão de entrada b(P ) que é a resposta desejada para o padrão a(p). Estes
1
111
dois módulos são conectados através de uni mapeamento entre as camadas de saída F2 de ART„ e .-IRTI,. A primeira rede ARTMAP foi utilizada para classificar vetores de entradas binários, cada elemento do vetor indicando a presença ou ausência de unia dada característica . Unia rede ARTAIAP mais geral foi proposta para classificar vetores de entrada cujos elementos assuntem valores fu.:y. entre 0 e 1. indicando o nível de presença de cada característica. Esta generalização é realizada substituindo os nódulos de ART 1 de ARTMAP por módulos de outra rede baseada em ART. a rede Fuzzy- ART [CGR91c]. A nova rede é conhecida como rede Fuzzv- ARTMAP [CG\I+91]. Existem outras variações . não tão conhecidas . baseadas na rede ART: CAL\I [\IP\\'s9]. ART 3 ;CG90]. ART 2a [CGR911-)]. SMART [ Bar94] e HART [Bar95].
Em contraste com outros modelos apresentados nos capítulos anteriores, estas redes possuem uma forte inspiração neurofisiológica. Elas são baseadas no mapa topológico presente no córtex cerebral. Sabe-se que o cérebro dos animais mais sofisticados possui áreas que são responsáveis por funções específicas. Existem áreas, por exemplo, dedicadas à fala, à visão, ao controle motor, à sensibilidade ao toque etc. Cada unia destas áreas contém subáreas. Cada subárea mapeia internamente respostas do órgão sensorial representado por ela. Por exemplo: • Córtex auditivo: o mapeamento reflete as diferentes freqüências sonoras. • Córtex visual: o mapeamento é definido pelas características visuais primitivas, como intensidade de luz, orientação e curvatura de linhas.
6.1.4 Aplicações As redes ART têm sido utilizadas em várias aplicações, como: • reconhecimento automático de alvos [GE\\"95]: • reconhecimento de caracteres [FB90]: • robótica ,ZGLC95": • diagnóstico médico 'CM961: • sensoreamento remoto [CG93];
Observa-se que esses neurônios estão espacialmente ordenados dentro destas áreas, e, assim neurônios topologicamente próximos tendem a responder a padrões ou estímulos semelhantes. Sabe-se também que esta ordenação topológica é resultado do uso de feedback lateral entre as células do córtex cerebral. Este feedback lateral é geralmente modelado em RNAs por unia função conhecida como "chapéu mexicano". Segundo a função chapéu mexicano, cada neurônio influencia o estado de ativação de seus neurônios vizinhos de três formas possíveis (ver também Figura 6.6): • Excitatória, se os vizinhos estão próximos a ele (por exemplo, dentro de uma área de raio RI )
• processamento de voz [CGG\V96]. A seguir apresentamos uni outro modelo de RNAs self-organizing: as redes SO\1.
6.2 Redes SOM As redes mapas self-organizing. SOM (Self-organizing Alaps), também chamadas de mapas de características self-organizing, SOFRI (Self-organizing Feature Alaps). foram desenvolvidas por Teuvo Kohonen [Koh89] na década de 80. Em vários trabalhos, estas redes são chamadas de redes de Kohonen, o que pode provocar certa confusão. uma vez que Kohonen também propôs outros modelos de RNAs. Neste capítulo, estas redes serão chamadas simplesmente de redes SOM.
112
• Inibitória, se os vizinhos estão fora da área anterior mas dentro de unia segunda área (por exemplo, dentro de uma área de raio R2. mas fora da área de raio RI, onde R2 > RI) • Levemente excitatória, se os vizinhos estão fora das áreas anteriores mas dentro de uma terceira área (por exemplo, dentro de unia área de raio R3, mas fora das áreas de raios RI e R2, onde R3 > R2 > RI ) A rede SOM funciona basicamente da seguinte forma: quando um padrão de entrada p é apresentado , a rede procura a unidade mais parecida com p. Durante o seu treinamento , a rede aumenta a semelhança do nodo escolhido e de seus vizinhos ao padrão p. Desta forma, a rede constrói uni mapa topológico onde nodos que estão topologicamente próximos respondem de forma semelhante a padrões de entrada semelhantes . A rede SOAI é unia rede biologicamente plausível , ou seja, apresenta respaldo biológico. Assim como no
o
o
o
Figura 6.7: Rede SOM típica. Pode ser observado que os nodos da camada de saída formam um reticulado.
Figura 6.6: Tipos de estímulos produzidos de acordo com a função chapéu mexicano.
6.2.1 Arquitetura
córtex cerebral, nodos ativos apresentam conexões mais fortes com nodos que estão fisicamente mais próximos. A rede SOM se apresenta como um modelo do córtex cerebral, uma vez que:
Na rede SOM, os nodos se organizam em uma grade ou reticulado, geralmente bidimensional, podendo algumas vezes ser unidimensional. Também são encontradas, embora raramente, grades com três ou mais dimensões. A grade bidimensional tem a forma de uma superfície plana, onde os nodos de saída estão organizados em linhas e colunas. A Figura 6.7 ilustra uma rede SOM típica.
seus nodos estão localmente interconectados • o processo de adaptação está restrito ao nodo vencedor e seus vizinhos.
Embora a rede SOM apresente geralmente apenas uma camada bidimensional, uma hierarquia de camadas bidimensionais pode ser também utilizada [Hay94]. Cada nodo da rede SOM recebe todas as entradas e funciona como um discriminador ou extrator de características. Quanto mais semelhante a entrada for do vetor de pesos de um nodo, maior o valor de sua saída. A saída da rede é formada pela saída de todos os seus nodos. Durante a fase de aprendizado, os nodos se especializam para a detecção de um conjunto de padrões de entrada. Os nodos se organizam topologicamente, fazendo com que os padrões detectados por um dado nodo estejam relacionados com as coordenadas da posição do nodo dentro do reticulado. Desta forma, um mapa de características self-organizing forma mapas topológicos dos padrões de entrada. onde padrões semelhantes são detectados por nodos próximos dentro do reticulado. Assim, as localizações espaciais dos nodos correspondem a características dos padrões de entrada, daí o nome mapa de características self-organizing.
A rede SOM utiliza um algoritmo de aprendizado competitivo, em que os nodos da camada de saída competem entre si para se tornarem ativos, ou seja, para ver quem gera o maior valor de saída. Assim, para cada padrão de entrada, apenas um nodo de saída ou nodo por grupo se torna ativo. Esta competição é chamada de winner-takes-all, o vencedor leva tudo. Uma maneira de implementar esta competição é a utilização de conexões laterais inibitórias entre nodos de saída. Através da introdução do conceito de vizinhos topológicos dos nodos vencedores, o algoritmo de treinamento utilizado pelas redes SOM simula o efeito da função chapéu mexicano. Segundo este conceito, quando um nodo vence uma competição, produzindo a maior saída para uma dada entrada, não apenas ele mas também os nodos localizados na sua vizinhança têm seus pesos ajustados. Com isso, Kohonen consegue um resultado semelhante àquele obtido com a utilização da função chapéu mexicano, a um menor custo computacional. 114
1
1
115
Como se pode ver na Equação 6.6. o estado de ativação de um nodo é determinado pela distância entre seu peso e o vetor de entrada. A função de ativação da rede SOM é baseada na medida de distância euclidiana:
Yj -^^.ri-u'ji I^ i=1
6.2.2 Melhorando o desempenho da rede A utilização de vetores de peso com magnitudes diferentes prejudica a competição entre os rodos. por desviar a atenção da rede para a magnitude. em vez da orientação dos vetores de peso. que é o que interessa. O algoritmo funciona melhor quando os vetores de pesos são normalizados, geralmente para unia norma unitária. Normalizando também os vetores de entrada, o estado de ativação de um nodo pode assumir qualquer valor real no intervalo [0. NI. onde N é o número de entradas. Os pesos iniciais de unia rede do tipo SO\1 _sãó definidos aleatoriamente. Por causa disso, muitos rodos podem apresentar vetores de pesos muito diferentes dos padrões de entrada. Dessa forma. pode ser que não haja o número necessário de nodos utilizáveis (que possam vencer as competições) para definir os clusters adequadamente. Em resultado, a rede pode ou não convergir ou apresentar ciclos muito lentos. Diversas alternativas foram propostas para resolver ou minimizar este problema: • utilização de vetores de pesos iniciais iguais; • utilização de um limiar para cada nó (consciência): • modificação dinâmica de raio de vizinhança. A primeira alternativa seria inicializar todos os pesos com o mesmo valor. Para garantir a atualização do maior número possível de nodos, os padrões de treinamento seriam, no início, tornados semelhantes entre si. A semelhança seria gradativamente reduzida nos primeiros ciclos de treinamento por meio da adição de ruídos aos vetores de entrada. A segunda opção propõe a utilização de um limiar para cada nó. Este limiar seria a consciência do nodo [DeS88], por isto esta técnica também é 116
chamada de consciência. De acordo com esta técnica, nodos que fossem regularmente selecionados nas competições teriam seu limiar aumentado. Assim, este mecanismo reduz a chance de este nodo ser selecionado novamente, permitindo a utilização de outros nodos. A terceira alternativa, que é utilizada por Kohonen, reduz a vizinhança dos nodos vencedores durante o treinamento. A vizinhança define quantos nodos em torno do vencedor terão seus pesos ajustados. ou seja, define a área de influência do nó vencedor. Quando a solução de reduzir a vizinhança é empregada. utiliza-se inicialmente uma vizinhança grande. Durante o treinamento, a região de vizinhança é progressivamente reduzida até uni limite pré-definido. Geralmente. a taxa de redução é uma função linear do número de ciclos. Pode ocorrer também uma combinação das alternativas anteriores. Em unia rede SOIM, a vizinhança pode assumir vários formatos diferentes. Embora o formato quadrado seja o mais comum, a região de vizinhança pode apresentar também , como se vê na Figura 6.8, a forma de uni hexágono ou círculo ( gaussiana ). A definição do formato mais adequado depende do problema atacado e da distribuição de seus dados. Geralmente o formato da vizinhança é definido por tentativa e erro. Recentemente , Halgamuge [Ha1971, propôs a utilização de uma abordagem construtiva para a definição do formato da região . Neste caso, a região pode apresentar um formato arbitrário. não necessariamente o de uma figura geométrica regular. A seguir será discutido o processo de treinamento das redes SOM.
6.2.3 Treinamento O treinamento de uma rede SOM é competitivo e não-supervisionado (embora possa utilizar uma fase supervisionada para rotular os nodos). O algoritmo de treinamento original organiza os nodos em vizinhanças locais. Cada vez que um novo padrão de treinamento é apresentado à rede, os nodos competem entre si para ver quem gera a maior saída. Definido o nodo vencedor, tem início o processo de atualização de pesos. Neste processo, apenas o nodo vencedor e seus vizinhos dentro de um certo raio ou área de vizinhança atualizam seus pesos. Durante o treinamento, a taxa de aprendizado e o raio de vizinhança são continuamente decrementados. A Equação 6.7 ilustra como são atualizados os pesos da unidade vencedora e daquelas situadas na sua vizinhança: (t)), se j E A(t) wji(t + 1) u j,(
(6.7)
t), caso) (o (t )ário 117
•
• • ••• •1• • •
E Vizinhança 1 Vizinhança 2 Vizinhança 3
o Nodo vencedor O Nodo vencedor
é Nodos vizinhos ao vencedor
• Nodos vizinhos ao vencedor
Figura 6.8: Formatos para a região de vizinhança utilizados pelas redes SOM.
Figura 6.9: Redução da região de vizinhança.
onde wji(t) é o peso da conexão entre o elemento de entrada xi(t) e o nodo j, rj(t) é a taxa de aprendizado e A é a vizinhança do nodo vencedor, tudo no instante de tempo t. É interessante observar que, através deste processo de treinamento, a rede cria regiões que respondem a grupos de entradas semelhantes. O algoritmo de treinamento para redes do tipo SOM é resumido a
O treinamento da rede SOM ocorre em duas fases: fase de ordenação e fase de convergência. Durante a fase de ordenação, ocorre a ordenação topológica dos vetores de pesos, que são inicialmente orientados de forma aleatória (com pesos iniciais aleatórios). Esta fase dura em torno de 1000 ciclos ou iterações. Nesta fase, o treinamento busca agrupar os nodos do mapa topológico em clusters ou agrupamentos,. de modo a refletir a distribuição dos padrões de entrada. Desta forma, a rede descobre quantos clusters ela deve identificar e suas posições relativas no mapa. O mapeamento realizado neste estágio é um mapeamento grosseiro dos padrões de entrada. Durante esta fase, a taxa de aprendizado é inicialmente alta, próxima de 1, sendo gradualmente reduzida até um valor próximo de 0.1. Assim, nesta fase ocorrem grandes mudanças nos pesos. Também durante esta fase, a vizinhança é reduzida. Inicialmente envolvendo todos os nodos da rede, a vizinhança é reduzida, em geral linearmente, até atingir um raio de um ou dois vizinhos.
seguir. 1. Inicializar pesos e parâmetros 2. Repetir 2.1 Para cada padrão de treinamento x faça 2.1.1 Definir nodo vencedor 2.1.2 Atualizar os pesos deste nodo e de seus vizinhos 2.1.3 Se o número do ciclo for múltiplo de N Então reduzir taxa de aprendizado e área de vizinhança 3. Até o mapa de características não mudar Conforme pode ser visto no algoritmo de treinamento, os pesos iniciais devem ser escolhidos aleatoriamente. De preferência, todos os pesos devem ser diferentes [Hay94]. Após várias apresentações do conjunto de treinamento, os vetores de pesos tendem a seguir as distribuições dos vetores de entrada. 118
A segunda fase faz uni ajuste mais fino do mapa. Durante esta fase, que requer 100 a 1000 vezes mais ciclos que a fase anterior, é utilizada uma taxa de aprendizado baixa, da ordem de 0,01 ou menos, e o raio da vizinhança envolve um ou nenhum vizinho. Esta fase sofistica o mapeamento realizado no estágio anterior, aprimorando o agrupamento realizado. A Figura 6.9 ilustra a redução da região de vizinhança durante o treinamento de uma rede SOM.
1
119
Como resultado do que foi visto até o momento. pode-se dizer que o treinamento da rede SOM é afetado: • pela taxa de aprendizado; • pela taxa de redução da região de vizinhança; • pelo formato da região de vizinhança. Após o treinamento, a rede SOM agrupa os padrões de entrada em clusters ou agrupamentos. Em algumas aplicações, pode ser necessário rotular os nodos de saída para indicar os clusters (ou classes) que representam. Esta rotulação vai permitir posteriormente a classificação de padrões desconhecidos. De acordo com [Koh89], a rede SOM não foi criada para Reconhecimento de Padrões , mas para agrupamento , visualização e abstração . Ainda assim, as redes SOM podem ser utilizadas para o reconhecimento ou a classificação de padrões. Neste caso , aconselha- se que a rede seja utilizada junto com um modelo de aprendizado supervisionado . Pode ser utilizada na saída, por exemplo, uma rede Adaline ou um MLP. Esta rede receberia como entrada a saída gerada pela rede SOM. Uma outra possibilidade , mais comum , é a utilização da técnica de aprendizado de quantização de vetor , LVQ (Learning Vector Qua.ntization) [ Koh86], que é discutida na próxima seção.
Figura 6.10: Funções de densidade para as duas classes do exemplo com médias xl = [4 4] e x, = [12 12].
o sem nenhum conhecimento prévio sobre suas distribuições. Para não restringir o problema ao caso acima. considera-se aqui que as variáveis xl e :r•2 representam grandezas hipotéticas, podendo o exemplo ser extrapolado para outras situações. Para este exemplo, considere então a distribuição gaussiana repre-
120
o
sentada pela Equação 6.8:
6.2.4 Exemplo de categorização de dados com SOM Um exemplo de categorização (clustering) a partir de dados experimentais é apresentado a seguir. O problema aqui consiste em determinar as classes em que os dados de entrada estão distribuídos sem conhecer de antemão as suas características estatísticas. Para o presente exemplo foram selecionadas duas classes distintas cujos vetores representativos foram amostrados de distribuições gaussianas bidimensionais. Assim, temos vetores de entrada bidimensionais x' = [xi x2 ]T que formam o conjunto de treinamento r = {xl, x2 ... , xP}. As variáveis de entrada xl e x2 são genéricas e poderiam estar representando características quaisquer de um sistema hipotético. Estas poderiam estar representando, por exemplo, altura e idade de alunos da primeira e quarta séries de um colégio qualquer. Se fosse este o caso real, as amostragens corresponderiam a valores de idade e altura amostrados em ambas as séries e apresentados misturados para a rede sem identificação de qual par de entrada corresponderia a cada classe. Uma vez tendo estes dados amostrados, o problema se resumiria a determinar como estes estão distribuídos em categorias
h
1IIX XII2
f (x) = 2,rv2
(6.8)
1 1
onde xo representa o vetor bidimensional correspondente à média da distribuição, a2 a sua variância, e 11x - kII a distância euclidiana entre x e R. Considere que os dados para o exemplo foram amostrados de duas gaussianas conforme a Equação 6.8, com variâncias 1 e médias xl = [4 4] e x2 = [12 12], resultando nas funções de densidade apresentadas na Figura 6.10. Amostragens de 1000 pontos com igual probabilidade de ambas as distribuições resultaram nos pares de treinamento apresentados na Figura 6.11. Uma vez selecionados os vetores de treinamento para serem apresentados para a rede, é necessário então definir uma topologia de SOM para resolver o problema de categorização. Como se trata de um problema bidimensional pelo próprio enunciado, a opção mais natural foi escolher um SOM também 121
o
o i
e
15
10
5
0L 0
Figura 6.11: Amostragens das distribuições gaussianas para a formação do conjunto de treinamento.
com estrutura topológica bidimensional. Isto resulta em um mapa em que cada nodo possui 4 outros vizinhos, distribuídos na forma de uma rede, onde o vetor de pesos de cada um dos nodos corresponde a um dos vértices desta rede. A estrutura topológica define a quais outros nodos cada nodo deve estar conectado para formar a estrutura topológica bidimensional. O treinamento resultou então em apresentar os dados de entrada para a rede e observar a forma resultante do mapa. Espera-se que o mapa resulte então em uma topologia em que as características estatísticas dos dados sejam preservadas. Em outras palavras, a inspeção visual do mapa deve nos dar informação de como estes dados estão distribuídos.
5
WI
10
15
Figura 6.12: Condição inicial: todos os vetores de pesos foram iniciados com o mesmo valor.
das duas classes. Finalmente, a Figura 6.15 mostra a situação final da simulação após 4500 iterações, onde se pode observar que realmente o mapa assumiu uma forma representativa das distribuições dos dados. A observação do mapa nos leva a concluir que os dados estão distribuídos em duas classes concentradas próximas aos pontos [12 12] e [4 4], que corresponde aos dados gerados a partir da Equação 6.8.
A Figura 6.12 mostra a condição inicial do mapa em que todos os pesos foram iniciados com os mesmos valores' para dar a todos as mesmas condições de competir pela representação de uma das classes. A Figura 6.13 mostra a situação do mapa após 50 iterações, quando este já começa a tender para assumir a topologia dos dados. Na Figura 6.14 pode-se ver o mapa após 300 iterações, quando este já possui uma forma mais semelhante às distribuições 'Como pode ser observado , o valor inicial escolhido para os pesos foi um valor médio entre as duas classes , o que faz também com que se evite polarização em relação a uma delas.
122
1
123
Figura 6.13: Situação após 50 iterações.
Figura 6.15: Situação final após 4500 iterações.
6.2.5 Algoritmo LVQ 15
ro
Urna vez que a rede SOM tenha sido treinada e rotulada. pode ser necessário ensinar novos padrões. Esta inclusão pode buscar, por exemplo. a melhoria do desempenho da rede para certos clusters. Um algoritmo de aprendizado. conhecido como algoritmo LVQ, permite a inclusão de novos padrões em uma rede SOM já treinada. LVQ é uma técnica de aprendizado supervisionada que utiliza informações sobre as classes para mover levemente os vetores de peso. de modo a melhorar a qualidade das regiões de decisão do classificador. LVQ procura ajustar o mapa de características para melhorar o desempenho da rede em circunstãncias modificáveis. Por ser supervisionado, o algoritmo LVQ pode, após o treinamento da rede SOM, avaliar a classificação gerada pela rede para cada padrão. Nesta avaliação, o algoritmo LVQ ajusta os pesos para melhorar a classificação obtida. Os pesos do nodo vencedor e de seus vizinhos são ajustados pela Equação 6.9:
Figura 6.14: Situação após 300 iterações.
( uai(t) + r)(xi(t) - wji(t)), classe correta w^i(t+ 1) - t wji(t) - rl(xi(t) - wji(t)), classe incorreta
(6 . 9)
onde r} é a taxa de aprendizado. 124 125
6.3 Conclusão Os passos para treinamento com algoritmo ' LVQ são apresentados' a seguir: 1. Inicializar pesos e parâmetros 2. Repetir 2.1 Para cada padrão de treinamento x faça
Este capítulo abordou redes cujo treinamento não conta com uma supervisão externa, sendo por isto chamadas redes self-organizing. Foram apresentados em detalhes dois modelos de redes que seguem este princípio: as redes ART e o modelo SOM. Os modelos da "família" ART procuram resolver o dilema estabilidadeplasticidade, permitindo que as redes aprendam continuamente sem perder conhecimentos adquiridos previamente. Foi discutido em detalhes o modelo ART 1, que trabalha com vetores de entrada cujos elementos assumem apenas valores binários. Foram também citadas diversas variações de redes baseadas no modelo ART 1.
2.1.1 Definir nodo vencedor 2.1.2 Atualizar os pesos do nodo vencedor e seus vizinhos 2.1.3 Reduzir taxa de aprendizado 3. Até o erro ser menor que um dado valor Para o ajuste dos pesos , este algoritmo utiliza a Equação 6.9, que compara, para cada padrão de entrada, a saída produzida com a saída desejada . Pode ser observado que ele não mexe com o raio de vizinhança . Como LVQ pode calcular o erro, ele pode utilizar esta medida como critério de parada do algoritmo.
A rede SOM, desenvolvida por Teuvo Kohonen, utiliza algoritmos de aprendizado baseados em conceitos biologicamente plausíveis. Estas redes são inspiradas no mapeamento realizado pelo cérebro. Assim como o cérebro, as redes SOM permitem a representação de dados N-dimensionais em um espaço ÀIdimensional, onde RI « N.
6.2.6 Aplicações
6.4 A rede de Kohonen tem sido utilizada em diversas aplicações práticas. Talvez a mais popular seja uma aplicação desenvolvida pelo próprio Kohonen: o datilógrafo fonético [Koh88], um sistema que converte linguagem falada em texto escrito. A rede é utilizada para extrair fonemas da fala do usuário. Outras aplicações em que a rede SOM tem sido utilizada são:
Exercícios 1. Qual a vantagem de normalizar os pesos de um nodo para a rede SOM? 2. Explique o porquê do mecanismo utilizado para definir dinamicamente o número de nodos treinados pela rede SOM.
• problema do caixeiro viajante [AVT88];
3. Por que é aconselhável utilizar um limiar diferente para cada nodo de unia rede de Kohonen?
• exploração de bases de dados [HKLK96];
4. Explique o R de ART. 5. Qual a vantagem de ART 2 em relação a ART 1?
• análise da distribuição de renda no mundo [KK96];
6. Qual o papel do parâmetro de vigilância em ART?
• diagnóstico financeiro [SC96];
7. O que aconteceria se todos os pesos da rede SOI 1 fossem inicializados com o mesmo valor?
• controle de processos químicos [TG91};
8. Como o mecanismo de consciência pode levar a um melhor desempenho da rede SOM?
• garimpagem de dados [BSV96];
9. Como a rede SOM implementa o conceito de chapéu mexicano?
• controle de qualidade de água [MDC95]. 126
1
127
Capítulo 7
Sistemas Neurais Híbridos Neste capítulo será abordado uni dos temas de pesquisa mais recentes de RNAs. que é o desenvolvimento de Sistemas Neurais Híbridos [GK95, SB95 ] (SNHs). Após caracterizar o que vêm a ser e quais as características de SNHs, serão brevemente discutidas diferentes abordagens utilizadas para o desenvolvimento de tais sistemas. Embora RNAs tenham se mostrado uma técnica eficiente para a solução de uni grande número de problemas. é um grave erro afirmar que elas são suficientes para resolver qualquer problema de Inteligência Artificial, IA. RNAs apresentam vários problemas e limitações que não permitem seu uso exclusivo para a solução de uma quantidade significativa de problemas. O termo híbrido, segundo o Dicionário Aurélio da Língua Portuguesa [Fer77]. significa originário do cruzamento de espécies diferentes. SNHs combinam dois ou mais tipos diferentes de subsistemas, sendo uni deles uma RNA, para formar um sistema heterogêneo com características inteligentes. A principal idéia por trás do desenvolvimento de Sistemas Híbridos é a de que uma única técnica, devido às suas limitações e/ou deficiências, pode não ser capaz, por si só, de resolver um dado problema. Neste caso, a combinação de duas ou mais técnicas pode levar a uma solução mais robusta e eficiente. Acredita-se que um modelo de computação verdadeiramente inteligente tem maiores chances de ser desenvolvido se conseguir aglutinar potenciais de diferentes paradigmas de IA. É importante ressaltar, porém, que a utilização de Sistemas Híbridos não leva necessariamente a uma melhora do desempenho do sistema como um todo sobre aquela obtida pelas técnicas que foram combinadas quando utilizadas isoladamente. Pelo contrário, muitas vezes os 129
resultados obtidos por um SNH são inferiores ao desempenho das técnicas que o compõem. SNHs podem ser muito eficientes, desde que justificados, desenvolvidos e utilizados corretamente. O principal foco de pesquisas em SNHs tem sido, em geral, o de combinar técnicas fortemente baseadas em dados (RNAs, por exemplo) com técnicas que se utilizam de conhecimento (um exemplo seria Lógica Fuzzy) [Zad71]. Algumas abordagens têm sido propostas para integrar RNAs com: • Estatística;
investigada por diversos pesquisadores [Ma195, RCB95, KW93]. A maioria das propostas de integração tem. sido sugerida para indexação e recuperação de. casos.
A combinação de RNAs com Algoritmos Genéticos (AGs) também tem sido bastante empregada, e sua principal utilização tem sido na otimização de parâmetros de RNAs [GK95, BBM92]. Estes parâmetros podem incluir, entre outros, número de camadas, funções de ativação, taxas de aprendizado e número de neurônios nas camadas intermediárias. Três dessas integraçóes de técnicas diferentes formando Sistemas Neurais Híbridos, SNH, serão discutidas em maiores detalhes neste capítulo. A próxima seção vai apresentar como RNAs podem ser combinadas com AGs. A seção seguinte discutirá a integração de RNAs com Raciocínio Baseado em Casos. A última seção vai mostrar como regras simbólicas podem ser extraídas de RNAs.
• Lógica Fuzzy; • Sistemas Baseados em Conhecimento; • Algoritmos Genéticos; • Raciocínio Baseado em Casos;
7.1 RNAs e Algoritmos Genéticos
• Lógica Matemática;
Antes de analisar como RNAs e AGs podem ser integrados, esta seção apresenta, de forma sucinta , os principais conceitos . referentes a AGs.
• Linguagens Formais; • Agentes Inteligentes;
7.1.1 Algoritmos genéticos
Sistemas Tutores; • Linguagem Natural. Existem várias semelhanças entre estatística e RNAs. Muitas das técnicas utilizadas em RNAs possuem um paralelo em estatística. Esta combinação tem sido muito utilizada para a combinação de estimadores [XJH95] e para pré-processamento de dados [BH95b]. As combinações de RNAs com Lógica Fuzzy geralmente procuram simular Lógica Fuzzy utilizando RNAs. Nestes casos. a rede neural é empregada para adaptar um conjunto de parâmetros de um sistema fuzzy, ou seja, a rede é utilizada no lugar do sistema de inferência [SG87, GK951. Um número crescente de pesquisadores tem se dedicado à integração de RNAs com Sistemas Baseados em Conhecimento (SBC) [SB95, Hay91, Ga193]. A maioria destas pesquisas procura combinar a facilidade das RNAs para lidar com dados com a manipulação de conhecimento realizada por SBC. A integração de Raciocínio Baseado em Casos (RBC) com RNA também tem sido
130
Algoritmos Genéticos são algoritmos de otimização e busca baseados nos mecanismos de seleção natural e genética [Go189]. Enquanto os métodos de otimização e busca convencionais trabalham geralmente de forma seqüencial, avaliando a cada instante uma possível solução, os AGs trabalham com uni conjunto de possíveis soluções simultaneamente. As técnicas de busca e otimização geralmente apresentam: • Um espaço de busca, onde estão todas as possíveis soluções.para o problema. • Uma função de avaliação ou custo que avalia, geralmente através de uma nota, cada possível solução presente no espaço de busca. De acordo com Goldberg [Go189], os AGs diferem dos métodos tradicionais de busca e otimização em quatro aspectos principais: 1. Trabalham com uma codificação do conjunto de parâmetros e não com os próprios parâmetros.
1
131
2. Trabalham com uma população de soluções candidatas simultaneamente, e não com unia única solução. 3. Utilizam informações de custo ou recompensa, e não derivadas de funções. 4. Utilizam regras de transição probabilísticas, e não determinísticas. Na terminologia de AGs. Tuna solução candidata é chamada de indivíduo ou cromossomo. Ao conjunto de indivíduos simultaneamente avaliados é dado o nome de população. A cada indivíduo é associado uni grau de adaptação ou aptidão, que mede a capacidade da solução, representada pelo indivíduo para resolver uni dado problema. AGs não garantem unia solução ótima, mas geralmente encontram soluções quase ótimas em um tempo aceitável. Esta técnica emprega uma estratégia de busca paralela e estruturada. embora com uni forte componente aleatório, que é voltada em direção à busca de pontos de "maior aptidão", ou seja, pontos nos quais a função a ser minimizada (ou maximizada) tem valores relativamente baixos (ou altos). Apesar de aleatórios. eles não definem caminhos desordenados em direção a uma solução ótima, uma vez que utilizam informações históricas para definir novos pontos de busca, onde são esperados melhores desempenhos. Isto é realizado através de processos iterativos, em que cada iteração é chamada de geração. Durante cada geração, princípios de seleção e reprodução são aplicados a uma população de candidatos. A população pode variar de tamanho, dependendo da complexidade do problema e dos recursos computacionais disponíveis. Espera-se que ao final de um número de gerações o algoritmo venha a convergir para soluções ótimas ou quase ótimas. AGs são baseados na teoria da evolução natural. proposta por Charles Darwin em The Origin of Species. publicado em 1859 [Dar59]. Segundo esta teoria, a evolução das populações naturais por várias gerações ocorre de acordo com os princípios de seleção natural e sobrevivência dos mais aptos. É interessante observar que a teoria da evolução e a computação nasceram praticamente na mesma época: Charles Babbage, um dos fundadores da computação moderna e amigo pessoal de Darwin, desenvolveu sua máquina analítica em 1833. Para a utilização de AGs em problemas de otimização e busca, uma seqüência de passos deve ser observada, conforme descrevemos a seguir. O primeiro passo é a geração da população inicial. Em seguida deve ser determinado como os indivíduos serão codificados, permitindo a sua posterior 132
manipulação pelos operadores genéticos. A este processo dá-se o nome codificação ou representação. Durante o processo evolutivo, a população é avaliada: para cada indivíduo é dada unia nota, ou índice, refletindo sua habilidade de adaptação a um determinado ambiente. Uma porcentagem dos mais aptos é mantida, enquanto os outros são descartados (darwinismo). Os membros mantidos pela seleção podem sofrer modificações em suas características fundamentais através de mecanismos como mutações e crossovers, gerando descendentes para a próxima geração. Este processo, chamado de reprodução, é repetido até que uma solução satisfatória seja encontrada. Como defende Goldberg [Gol89], embora possam parecer simplistas do ponto de vista biológico, estes algoritmos são suficientemente complexos para fornecerem mecanismos eficientes e robustos de busca adaptativa. A seguir. cada uma destas fases será detalhada. Para tornar mais claros os conceitos apresentados, será utilizado um exemplo de otimização através de Algoritmos Genéticos. O exemplo envolve a otimização de ingredientes para o preparo de um bolo. Os ingredientes a serem otimizados são: • número de colheres de açúcar (ingrediente A); • número de colheres de sal (ingrediente B); • número de colheres de farinha de trigo (ingrediente C • número de ovos (ingrediente D).
7.1.2 Representação O primeiro aspecto a ser considerado para a utilização de AGs como ferramentas para a solução de problemas é a representação destes problemas em uma estrutura na qual estes algoritmos possam trabalhar adequadamente. Dá-se o nome genótipo ou cromossomo ao indivíduo codificado de acordo com esta estrutura. O indivíduo antes de ser codificado é chamado de fenótipo. Para avaliação de um cromossomo, é preciso decodificá-lo para o fenótipo correspondente. Para o exemplo do preparo de bolo, o genótipo poderia ser um vetor de quatro elementos, cada elemento definindo a quantidade de cada uni dos ingredientes. O fenótipo seria o bolo preparado com a quantidade de ingredientes estabelecida pelo genótipo correspondente. A quantidade de cada ingrediente poderia ser codificada por um número decimal ou binário. A aptidão ou nota de cada indivíduo poderia ser determinada por um provador, por exemplo.
133
Tradicionalmente, os indivíduos são representados por vetores binários, em que cada elemento de um vetor denota a presença (1) ou ausência (0) de uma determinada característica. Os elementos de um genótipo são combinados para a definição das características reais do indivíduo, ou seja, o seu fenótipo. Teoricamente, a representação binária é independente do problema, pois, uma vez encontrada a representação em vetores binários, as operações-padrão podem ser utilizadas, facilitando a sua utilização em diferentes tipos de problemas. A utilização de representações em níveis de abstração mais altos também tem sido investigada. Como estas representações estão mais ligadas aos fenótipos, elas são mais adequadas para problemas em que a transformação "fenótipogenótipo" é mais complexa. Neste caso, podem ser necessários operadores específicos para utilizar estas representações.
Figura 7.1: Seleção utilizando o método da roleta.
7.1.3 Seleção
Tabela 7.1: Notas dos cinco indivíduos de uma população.
O processo de seleção determina quais indivíduos da população podem participar da fase de reprodução. Os indivíduos são selecionados de acordo com uma probabilidade dada pelo seus índices ou notas de aptidão. Assim, os indivíduos com maior adaptação relativa têm maiores chances de participar da reprodução. O princípio básico do funcionamento dos Algoritmos Genéticos é que uni critério de seleção faz com que, após várias gerações, o conjunto inicial de indivíduos produza indivíduos mais aptos. A maioria dos métodos de seleção é definida para escolher preferencialmente indivíduos com maiores notas de aptidão. embora não exclusivamente (em alguns casos é também desejável manter a diversidade da população). Um método de seleção muito utilizado é o método da roleta, em que cada indivíduo ocupa, em uma roleta, uma área proporcional ao seu índice de aptidão. Desta forma, aos indivíduos com maior aptidão é associada uma fatia maior da roleta, e vice-versa. Para a definição da área relativa de cada indivíduo na roleta, a nota de cada indivíduo é normalizada pela Equação 7.1:
not normalizada
nota
Indivíduo
Nota original
Nota normalizada
11 12
0.15 0.75
0.05 0.25
13 14
0.3 0.45 1.35
0.1 0.15 0.45
15
Durante a seleção, a roleta é girada N vezes, selecionando N indivíduos para participarem da fase de reprodução. Indivíduos com maiores notas, por possuírem áreas maiores, têm maior probabilidade de serem selecionados. A utilização do resultado da função de avaliação para escolher os tamanhos das fatias nem sempre é o método mais adequado. Se a função de avaliação atribuir um valor muito alto a um indivíduo, então este indivíduo pode monopolizar a seleção, levando a uma convergência prematura do Algoritmo Genético. Pode ocorrer também de a função de avaliação atribuir valores de aptidão muito próximos aos indivíduos, tornando suas fatias na roleta aproximadamente iguais. Com isto, a seleção pode não favorecer os indivíduos mais aptos. Uma possível solução para estes problemas é a utilização da técnica de ranking.
original
i
original notai i=1 A Figura 7.1 ilustra a definição das áreas da roleta para um conjunto de
indivíduos cujas notas são mostradas na Tabela 7.1.
134
Na técnica de ranking, a fatia é definida não pela nota relativa de cada indivíduo, mas pela posição que eles ocupam no ranking de todas as notas. Esta técnica define a fatia de cada indivíduo por meio da escolha de um valor real entre 0.0 e 1.0. Cada indivíduo, em ordem decrescente de ranking, ocupa,
1
135
da área total da roleta que ainda não foi ocupada, uma fatia proporcional a este valor. Por exemplo. se o valor escolhido for 0.6. o indivíduo de maior ranking ocupará 60% da roleta. O segundo indivíduo ocupará 60% dos 40c que sobraram, que é igual a 24%. O terceiro indivíduo ocupará 60% de 167c que sobraram, que é igual a 9.6%. O indivíduo de menor ranking ocupará a área que sobrou da roleta. A Tabela 7.2 ilustra o ranking dos indivíduos de acordo com suas notas. Vários casos nos quais esta alternativa é melhor que a simples utilização das notas são apresentados em [«,'hi89].
Tabela 7.2: Ranking dos cinco indivíduos de uma população. Indivíduo
novos indivíduos (soluções), mantendo características desejáveis adquiridas em gerações anteriores. Para prevenir a eliminação dos melhores indivíduos pela manipulação dos operadores genéticos, estes indivíduos podem ser automaticamente colocados na próxima geração através do operador de elitismo. O crossover é o operador responsável pela recombinação de características genéticas dos pais durante a reprodução. permitindo que elas sejam herdadas pelas próximas gerações. Ele é considerado o operador genético predominante, por isso é aplicado com uma probabilidade, chamada taxa de crossover. maior que a taxa de mutação. Este operador pode ser utilizado de várias maneiras. As mais freqüentes são:
Nota original
Nota normalizada
Ranking
11
0.15
0.05
5
• Crossover de uni ponto:
12 13 14 1,5
0.75 0.3 0.45 1.35
0.25 0.1 0.15 0.45
2 4
• Crossover multipontos:
3 1
• Crossover uniforme.
A função de avaliação define a nota ou índice de aptidão de cada indivíduo da população. A função utilizada depende do problema atacado. Esta função recebe como entrada um genótipo e retorna sua aptidão ou grau de adaptação. Em problemas em que se busca o ponto máximo de unia função F. por exemplo, a função de avaliação é a própria função F. Para casos mais complexos, a função se torna mais sofisticada. Como exemplo, para o problema de otimização do projeto de uma ponte, a função de avaliação poderia incluir a carga máxima suportada, o custo da construção e o tempo da construção. A seção seguinte descreve como ocorre o processo de reprodução.
7.1.4 Reprodução Os indivíduos escolhidos na fase de seleção participam da fase de reprodução. em que podem ser combinados ou modificados, produzindo os indivíduos da próxima geração. Estas combinações e modificações são realizadas por um conjunto de operadores chamados operadores genéticos. Os operadores genéticos são utilizados para transformar uma população através de sucessivas gerações. estendendo a busca até a obtenção de um resultado satisfatório. Os principais operadores de reprodução são: crossover (ou cruzamento) e mutação. Eles são utilizados para assegurar que a nova geração apresente 136
Para o primeiro caso. crossover de uni ponto . uni ponto de cruzamento. que é um ponto entre dois genes de um cromossomo, é escolhido , e. a partir deste ponto, as informações genéticas dos pais são trocadas . Um dos filhos herda as informações anteriores a este ponto de um dos pais e as informações após este ponto do outro pai . O outro filho herda os genes restantes . Esta operação é ilustrada pela Figura 7.2. O crossover multipontos é uma generalização da operação anterior, onde, em vez de uni único ponto , podem ser utilizados vários pontos de cruzamento . O outro tipo de crossover, o crossover uniforme. não utiliza pontos de cruzamento , mas determina , por meio de uma máscara, que genes de cada pai serão herdados por cada um dos filhos . Se o i-ésinio elemento da máscara apresentar o valor 1. o valor do i-ésimo gene do filho 1 será igual ao valor do i-ésimo gene do pai 1. Se o i-ésinio elemento da máscara apresentar o valor 0, o valor do i-ésimo gene do filho 1 será igual ao valor do i-ésinio gene cio pai 2. O inverso ocorre na definição do valor dos genes do filho 2. O crossover uniforme é apresentado na Figura 7.3. O operador de mutação é responsável pela introdução e manutenção da diversidade genética na população, alterando arbitrariamente um ou mais genes de um cromossomo escolhido aleatoriamente. Este operador fornece meios para a introdução de novos elementos na população. A operação de mutação é ilustrada pela Figura 7.4.
137
Pai 2
Pai 1
A mutação assegura que a probabilidade de se chegar a qualquer ponto do espaço de busca nunca será zero, além de contornar 'o problema de mínimos locais, por permitir a alteração da direção da busca. O_ operador de mutação é aplicado aos indivíduos com uma probabilidade dada pela taxa de mutação, que é geralmente pequena. Na maioria das vezes, a mutação é aplicada após a operação de crossover. Com base nos conceitos expostos, são apresentados a seguir os passos a serem seguidos por um Algoritmo Genético. 1. Escolher um conjunto de cromossomos iniciais
1 o
ÕJ i 1o1
1
Filho 1
2. Repetir 2.1 Definir nota de cada cromossomo
Filho 2
2.2 Selecionar os cromossomos mais aptos
Figura 7.2: Operação de crossover um ponto.
2.3 Aplicar operadores de reprodução sobre cromossomos seleciona-
Máscara
0
1
dos
1 o
3. Até cromossomo adequado ser obtido ou serem realizadas N gerações
Pai 2
Pai 1
0o
t
O processo evolucionário termina quando o algoritmo convergir, for obtido um indivíduo adequado ou for realizado um determinado número de gerações. O algoritmo converge quando pelo menos X% dos genes possuem o mesmo valor em pelo menos Y% dos indivíduos. Os valores de X e Y são definidos pelo usuário de acordo com o problema sendo tratado. Na próxima seção, serão discutidos os diferentes parâmetros a serem definidos para a utilização de AGs e como estes parâmetros influem no comportamento obtido.
lio 1
lio
Filho 1
Filho 2
Figura 7.3: Operação de crossover uniforme. Pai
1 0é,1
o FO
11 1
o
1
o
1
Filho Figura 7.4: Operação de mutação. 138
7.1.5 Parâmetros genéticos Ao utilizar AGs para a solução de um problema, é importante analisar como a escolha dos parâmetros utilizados pode influir no seu comportamento para que se possa estabelecê-los conforme as necessidades do problema e dos recursos disponíveis. Segundo [Jon80I, os principais parâmetros e suas influências são os seguintes: • Tamanho da população. O tamanho da população afeta o desempenho global e a eficiência dos AGs. Com uma população pequena, o desempenho pode cair, pois a população pode cobrir apenas uma pequena parte do espaço de busca. Uma grande população geralmente fornece unia 1
139
cobertura representativa do domínio do problema. além de prevenir convergências prematuras para soluções locais, em vez de globais. No entanto, para se trabalhar com grandes populações, são necessários maiores recursos computacionais, ou que o algoritmo trabalhe por um longo período de tempo. • Taxa de cruzamento. Quanto maior for esta taxa, mais rápida a introdução de novas estruturas na população. Se esta taxa for muito alta, indivíduos com bons índices de aptidão poderão ser retirados a uma velocidade que supere a capacidade de gerar melhores indivíduos. Se esta taxa for muito baixa, a busca pode estagnar. • Taxa de mutação. Uma baixa taxa de mutação previne que unia dada posição fique estagnada em um valor, além de possibilitar que se chegue em qualquer ponto do espaço de busca. Com uma taxa muito alta, a busca se torna essencialmente aleatória. • Intervalo de geração.
Controla a porcentagem da população que será substituída para a próxima geração. Com uni valor alto, a maior parte da população é substituída, o que pode levar à perda de indivíduos de alta aptidão. Com um valor baixo, o algoritmo pode se tornar muito lento, pois o número de gerações necessárias pode ser muito grande.
• simulação de sistemas biológicos: • evolução interativa de imagens; • composição musical. A seção seguinte vai discutir como AGs podem ser utilizados para otimizar o projeto de RNAs.
7.1.7 Projeto evolucionário de RNAs O desempenho obtido por RNAs. principalmente de redes MLP, depende da topologia destas redes (tamanho. estrutura e conexões), assim como dos parâmetros de seu algoritmo de treinamento (taxa de aprendizado. termo momentum etc.). A determinação da rede (o que inclui a arquitetura e os parâmetros de aprendizado) afeta a velocidade e a eficiência do processo de aprendizado, a tolerância a falhas e ruídos e a capacidade de generalização. A determinação de unia rede adequada não é uma tarefa simples. O espaço de busca entre as RNAs válidas é muito grande. Além disso. ele é deceptivo e multimodal, como pode ser observado em [MTH89]: deceptivo pois duas arquiteturas similares podem apresentar desempenhos muito diferentes: multimodal, porque duas arquiteturas muito distintas podem ter desempenhos semelhantes.
Embora algumas heurísticas tenham sido propostas, a escolha destes parâmetros geralmente ocorre por meio de um processo de tentativa e erro.
7.1.6 Aplicações Um sistema que necessite de bom desempenho em um ambiente dinâmico geralmente exige soluções adaptativas ou evolutivas. Sistemas evolutivos tentam resolver problemas acumulando conhecimento sobre o problema e utilizando este conhecimento para gerar soluções aceitáveis . Como mostra [Aus90 ], estes problemas são encontrados nas áreas de: configuração de sistemas complexos, alocação de tarefas, seleção de rotas e outros problemas de otimização e aprendizado de máquina . Seguem-se alguns exemplos de sistemas que podem utilizar AGs: • controle de sistemas dinâmicos; • indução e otimização de bases de regras; • definição de arquiteturas neurais; 140
Existem técnicas que utilizam conhecimentos empíricos para o projeto da rede [Cau91]. Em [BT90] é sugerida uma abordagem muito utilizada na prática. que é a construção de redes a partir de redes padronizadas ou redes previamente utilizadas. Uma vez escolhidas. estas redes são testadas para a função desejada e alteradas até se mostrarem adequadas para a aplicação pretendida. Entretanto, esse tipo de abordagem demanda muito tempo, tem um custo elevado e não apresenta resultados confiáveis. Além disso, não é possível garantir a otimização da solução. pois o critério de desempenho é baseado em uma combinação complexa de fatores. Visando a resolver este problema de otimização de arquiteturas, várias técnicas para automação do projeto de RNAs para classes particulares de problemas vêm sendo pesquisadas. Uma destas técnicas envolve a utilização de Algoritmos Genéticos (abordagem evolucionária). Murrav, em [Mur94]. defende que os AGs proporcionam a abordagem mais natural para a solução deste problema, especialmente porque o cérebro humano também é resultado da evolução biológica. 141
e e
Existem outras possibilidades de utilização da abordagem evolucionária em RNAs, tais como a sua utilização como algoritmo de treinamento, conforme mostrado em [b4D89a, PFF951 e para encontrar regras de aprendizado eficientes para redes perceptron [Cha90]. Outras possibilidades promissoras são: a escolha de pesos iniciais da rede, a determinação de conjuntos de. dados para treinamento, a validação e teste dos atributos a serem utilizados nestes conjuntos, e a determinação de janelas de dados de entrada para a previsão de séries temporais. Nesta seção será discutido o projeto evolucionário de RNAs, com ênfase em abordagens de representação, critérios de avaliação de desempenho, estratégias de reprodução, mecanismos de seleção e funcionamento dos operadores genéticos. Principais aspectos Para a aplicação de AGs no projeto de RNAs, os seguintes aspectos devem ser levados em conta: • Representação: é necessária uma representação apropriada (genótipo) das possíveis soluções, normalmente na forma de vetores. Deve ser fornecida uma representação adequada das redes e uma função que transforme esta representação genotípica em soluções fenotípicas: arquiteturas de redes. • Desempenho: é preciso que seja fornecida uma função que associe uma nota de aptidão a cada solução, isto é, ao desempenho de cada uma das redes da população. Este valor deve refletir o desempenho destas redes na solução do problema considerado. • Reprodução: devem ser especificados os operadores genéticos que permitam a criação de novas redes. A especificação destes operadores depende da representação utilizada. Em alguns casos pode ser necessária a satisfação de restrições que assegurem a validade das redes geradas. No projeto evolucionário de RNAs, cada indivíduo pode ser visto como um ponto ou estado do espaço de possíveis redes. Iniciando o processo com uma população de redes válidas, geradas aleatoriamente, um gerador reconstrói estas redes (fenótipos) a partir de sua representação (genótipos) de acordo com a função de transformação (codificação) utilizada. Em seguida, um simulador treina todas as redes com um mesmo conjunto de dados de treinamento e
validação, avaliando seus desempenhos. Os desempenhos obtidos permitem a. avaliação da população, com a atribuição de uma nota de aptidão a cada rede, de acordo com o seu desempenho em relação às outras redes. Por meio de um método como o método da roleta, são selecionadas N redes, onde N é o número de indivíduos da população para a fase de reprodução. Nesta fase, os operadores genéticos são aplicados aos indivíduos selecionados, produzindo uma nova geração de redes. Para evitar que as melhores redes desapareçam rapidamente da população, pode ser utilizada uma política elitista, que faz com que estas redes sejam diretamente enviadas para a próxima geração. Esse ciclo é repetido, e, a cada nova geração, a população idealmente evolui rumo a genótipos que correspondam a fenótipos, redes, com melhores desempenhos. Este processo termina quando é encontrada uma rede adequada, ocorre uma convergência para uma solução única ou é atingido o número máximo de gerações.
7.1.8 Representação das redes A questão de como uma arquitetura neural é representada é crítica no projeto de um sistema evolucionário. Balakrishnan e Honavar [BH95a] afirmam que a representação ou codificação utilizada determina não apenas as classes de RNAs que podem ser geradas mas também o funcionamento dos processos. de codificação, de decodificação e dos operadores de reprodução. A representação da estrutura de uma Rede Neural não pode ser uma tarefa complexa. Vários fatores devem ser considerados para a escolha da representação: • se a representação permite que soluções ótimas ou aproximadamente ótimas sejam representadas; • como estruturas inválidas podem ser excluídas; • como devem atuar os operadores de reprodução, de forma que a nova geração possua somente redes válidas; • como a representação suporta o crescimento em tamanho das redes. De acordo com [Bra95], o ideal seria que o espaço genético das RNAs não contivesse genótipos de redes inviáveis e que fosse possível a expansão deste espaço a todos os genótipos de redes potencialmente úteis. Segundo [Wei90], existem dois paradigmas principais de representação de RNAs: a representação direta, ou de baixo nível, e a representação indireta, ou de alto nível. Existe
142 143
urna clara distinção entre estes dois paradigmas. A seguir, são apresentadas as principais características de cada uni deles. Representação direta
presentações indiretas podem exigir um esforço considerável para a decodificação dos cromossomos em fenótipos. No entanto. as redes podem ser préestruturadas. utilizando restrições que evitem arquiteturas indesejáveis. reduzindo assim o espaço de busca. Deste modo, as buscas podem ser focalizadas na procura das melhores redes.
Unia representação direta especifica exatamente cada parâmetro da rede. Ela requer pouco esforço de decodificação, devido à simplicidade da transformação genótipo-fenótipo. Uni exemplo de representação direta é a codificação de urna RNA em uma matriz de conexões, que especifica, de maneira direta e precisa. as conexões da rede. Deve ser observado, entretanto, que este tipo de codificação pode tornar o espaço de busca muito grande, levando à necessidade de um maior número de iterações, sendo assim útil apenas para topologias neurais relativamente pequenas. Uni método de representação direta muito utilizado foi apresentado por [-'\ITH89]. Para uma rede com N unidades, este método utiliza matrizes de conexões binárias N(N + 1). onde cada elemento C, da matriz determina a existência ou não de unia conexão entre as unidades j e i. A coluna N + 1 representa a existência ou não do termo de polarização. Claramente, este método é voltado para a escolha das conexões. visto que outros parâmetros da rede devem ser previamente estabelecidos. Os problemas principais dessa abordagem são o tamanho dos códigos e a possibilidade de geração de estruturas incorretas. Existe também a necessidade de códigos muito grandes para a representação de redes com um grande número de camadas e conexões. Outro problema é que, mesmo trabalhando com redes feedforward, podem ser geradas conexões de feedback. O problema de geração de estruturas incorretas foi tratado com a inclusão de um operador específico para eliminá-las. Este método foi um dos primeiros apresentados na literatura. Outros métodos foram posteriormente propostos com base neste tipo de representação. No método proposto em [WSE92], os valores dos pesos das conexões são incluídos, fazendo com que o método possa ser utilizado como um algoritmo de treinamento ou de escolha dos pesos iniciais. Em um outro trabalho, [SJW91], as redes são codificadas através de listas de unidades e de conexões.
Uma das primeiras abordagens de representação indireta foi proposta por [Kit90], que codifica topologias neurais através de regras, em unia gramática livre de contexto. Neste método, os símbolos não-terminais correspondem a matrizes 2 x 2 de símbolos terminais. Os símbolos terminais devem ser substituídos por matrizes 2 x 2 de valores binários. Nos problemas onde foi utilizado, este método apresentou uni desempenho superior ao obtido pelo método de codificação direta, pois encontrou as topologias mais rapidamente e com menores taxas de erro. A vantagem deste método fica mais evidente quando o número de unidades intermediárias das redes é aumentado. Este método também é voltado para a escolha das conexões. e, como utiliza matrizes de conectividade, precisa de códigos grandes para a representação de grandes topologias. Métodos mais sofisticados, apresentados por [HSG89, hlan93 . trabalham com representações indiretas através de descrições de redes em termos de uni conjunto de parâmetros como: número de camadas, número de nodos por camada e conexões entre camadas. Este método possibilita a aplicação de restrições sobre as redes geradas, reduzindo ainda mais o número de estruturas incorretas. Com isso, o número de estruturas a serem treinadas e avaliadas. assim como o número de gerações necessárias para obter boas redes, são drasticamente reduzidos.
Representação indireta
0 método proposto por [AIan93], basicamente um aperfeiçoamento do método apresentado por [HSG89], é voltado para a escolha da estrutura e das conexões. Ele utiliza urna representação que descreve os principais componentes das redes em duas áreas: área de parâmetros e área de camadas. A área de parâmetros especifica a taxa de aprendizado e o termo momenturn para todas as conexões da rede. Cada camada tem sua própria área de camada. especificando o número de unidades e as conexões para as outras camadas.
Diversos métodos de representação não codificam diretamente as arquiteturas neurais em genótipos, mas utilizam descrições abstratas para a caracterização das redes, ou ainda codificações gramaticais. As abordagens que utilizam re-
Na área de camadas, as conexões são separadas em projetivas (conexões com camadas posteriores) e receptivas (conexões com camadas anteriores). Elas são 145
144
especificadas através dos parâmetros raio e densidade. O parâmetro raio especifica o raio de conexão de cada rodo da camada atual, sendo dado por uma porcentagem do tamanho da camada de destino. O parâmetro densidade, por sua vez, especifica a densidade de conexões de uma unidade receptiva, sendo definido pela porcentagem de unidades que estão conectadas a esta unidade. Uni problema deste método é que sua decodificação é inexata. Os parâmetros raio e densidade são definidos como porcentagens relativas ao tamanho das camadas a serem conectadas. Durante a decodificação, as conexões são estabelecidas aleatoriamente seguindo estes parâmetros. Assim, um mesmo código pode produzir diferentes redes. Uma simplificação deste método que resolve as suas limitações foi proposta por [FC97]. As formas de representação discutidas anteriormente são geralmente utilizadas para redes MLP. Também tem sido investigada a otimização genética de redes RBF [WC96, LdC98]. Em comparação com as redes MLP, poucas abordagens têm sido propostas para a otimização de redes RBF. O principal aspecto abordado na otimização de redes RBF envolve a definição do conjunto de centros, a posição destes centros no espaço de entrada e a largura das funções-base representadas pelas unidades intermediárias . O parâmetro de regularização , utilizado para melhorar a generalização das redes RBF [Hay94], pode ser também otimizado.
7.2 Combinação de RNAs com RBC Assim como foi feito na seção anterior com Algoritmos Genéticos, noções básicas de Raciocínio Baseado em Casos (RBC) serão apresentadas antes de discutirmos como esta técnica pode ser combinada com RNAs.
7.2.1 Raciocínio baseado em casos RBC é um paradigma de IA que visa à resolução de problemas por analogias. Analogia está associada com lembrança, e, no contexto de RBC, significa lembrar de experiências prévias, também denominadas casos, para resolver problemas correntes [AP94, Bar91]. A utilização de RBC na resolução de problemas envolve adaptar soluções antigas para atender novas necessidades, usar casos antigos para explicar novas situações, utilizar experiências passadas para criticar novas soluções ou raciocinar a partir de precedentes para interpretar uma situação semelhante [Ko193]. RBC apresenta uma forte semelhança com a forma como o ser humano raciocina no seu dia-a-dia. As pessoas a todo momento estão utilizando suas próprias experiências, ou as dos outros, para obterem informações que as ajudem a resolver um determinado problema. A seguir é apresentado um exemplo encontrado em [Ko192], que utiliza RBC para ajudar um psiquiatra a diagnosticar a doença de uma paciente. Um psiquiatra analisa uma paciente que exibe sinais claros de depressão. A paciente conta ao médico que, entre outras coisas, recentemente teve um problema de estômago que os médicos não encontraram a causa orgânica. Enquanto na psiquiatria não é dada muita importância às reclamações aparentemente sem ligação com o caso, o doutor está se lembrando de um caso anterior em que ele diagnosticou um paciente com depressão que também se queixou de um conjunto de problemas físicos que não poderiam ser explicados organicamente. Somente depois de perceber que deveria também ter dado àquelas queixas maior atenção, ele faz o diagnóstico de Distúrbios Somáticos Associados à Depressão. Por ter se lembrado do caso anterior, a hipótese do psiquiatra de que esta paciente também deve ter Distúrbios Somáticos Associados à Depressão prosseguiu com a investigação do diagnóstico apropriado.
7.1.9 Operadores genéticos Os operadores genéticos são utilizados para transformar a população de redes de uma geração para outra, diversificando esta população e mantendo as características desejáveis adquiridas pelas gerações anteriores. Estas características podem ser: taxa de aprendizado, termo momentum e número de unidades nas camadas intermediárias. Os operadores são especificados de acordo com a representação utilizada. Podem ser utilizadas funções que limitem as transformações heurísticas de acordo com a funcionalidade desejada, além de funções que assegurem a validade das redes geradas. O operador de crossover permite a troca de características entre duas redes, que são selecionadas com probabilidade dada pela taxa de cruzamento. O operador de mutação geralmente causa apenas pequenas mudanças qualitativas nas características das redes. Deve-se ter cuidado para que redes inválidas não sejam geradas. A próxima seção trata da combinação de RNAs com RBC. 146
No exemplo acima, o médico utiliza o diagnóstico de um caso anterior para formar uma hipótese sobre o diagnóstico do novo caso. Esta hipótese faz com que o médico tenha um raciocínio mais curto (um atalho), e também o alerta para evitar um equívoco ocorrido anteriormente. Mais ainda, o caso anterior
1
147
faz com que ele focalize sua atenção em aspectos do caso que ele normalmente não teria considerado.
ENTRADA -* Caso Novo
caso Caso Aprendido
Este capítulo apresenta o funcionamento e os mecanismos de um sistema de RBC, os estilos de sistemas de RBC. seu histórico. e como RNAs têm sido integradas a estes sistemas.
Caso Novo Recuperado
REUSAR
Caso Caso Testado/ Resolvido Reparado
7.2.2 Histórico de RBC Acredita-se que os trabalhos de Roger Schank, em [SA77], sobre raciocínio e aprendizado baseados em memória e os modelos descritos por ele com tais características para a construção de sistemas computacionais foram a semente da área de RBCs. Entretanto. o que de fato marcou o início de RBC foi a publicação do trabalho de Roger Schank em 1982 sobre memória dinâmica. intitulado Dynamic Alemory: A Theory of Rem.in.ding and Learning in Computeis and People [Sch82]. Suas idéias foram expandidas por seus alunos, principalmente por Janet Kolodner. que desenvolveu, na Universidade de Yale, em 1983. o- primeiro sistema que realmente pôde ser chamado de RBC. O sistema em questão foi chamado CYRUS [Kol83a, Ko183b]. O modelo de memória baseado em casos desenvolvido no sistema CYRUS serviu de base para outros sistemas de RBC em diversas áreas. tais como MEDIATOR [Sim85] (na área de mediação), PERSUADER [Syc88] (na área de persuasão), CHEF [Ham89] (na área de culinária), JULIA [Hin88. (na área de culinária) e CASEY [Kot89] (na área de medicina). Outros trabalhos envolvendo modelos diferentes foram desenvolvidos por Bruce Porter e seu grupo na Universidade do Texas [PBH90]. Os frutos destes trabalhos foram os sistemas PROTOS [PB86] (na área de medicina) e GREBE [Bra91] (no domínio das leis). Edwina Rissland e seu grupo da Universidade de l\-Iassachusetts também contribuíram significativamente para a pesquisa de RBC, desenvolvendo o sistema HYPO [Ash91] (sobre leis) e, mais tarde, CABARET [SR92] (ferramenta). Phyllis Koton, do MIT, estudou a utilização de RBC para otimizar o desempenho de um SBC da área médica, resultando no sistema CASEY [Kot89].
REVISAR SoluçOo Confirmada
Soluçáo Sugerida
Figura 7.5: Ciclo de um sistema de RBC (adaptado de Aamodt). Neste diagrama, podem ser visualizadas as principais etapas de um sistema de RBC e como elas interagem.
7.2.3 Funcionamento de um sistema de RBC Dada a descrição de um novo caso como entrada para um sistema de RBC, este deve buscar, em sua memória de casos, um caso armazenado que se pareça com a descrição de entrada. A seguir, o sistema deve se adaptar, ou seja, modificar as partes do caso recuperado que não se ajustam à descrição de entrada. Em resultado desta adaptação, tem-se uma solução para o problema proposto e um novo caso que poderá ser adicionado à memória de casos do sistema. Em geral, sistemas de RBC estão relacionados aos seguintes processos: • Representação de Casos; • Indexação de Casos; • Armazenamento e Recuperação de Casos; • Adaptação de Casos; • Avaliação e Reparo de Casos.
Atualmente, as pesquisas envolvendo RBC têm se expandido para vários outros centros. Não apenas pesquisadores de países europeus e norte-americanos estão trabalhando com RBC mas também do Japão e de alguns países asiáticos (por exemplo, a índia [VKR93]), têm se mostrado interessados nos diversos domínios de aplicação desse paradigma. 148
Um conjunto de soluções coerentes para estes processos constitui um sistema típico de RBC. A Figura 7.5 mostra como estes processos estão conectados em um sistema de RBC típico. A seguir, cada um destes cinco processos é analisado em mais detalhes. 149
7.2.4 Representação de casos
7.2.5 Indexação de casos
O desempenho de um sistema baseado em casos depende da estrutura e do conteúdo armazenado em sua coleção de casos, uma vez que, para resolver um novo problema, é necessário "lembrar" de uma experiência anterior semelhante. Os processos de busca e casamento de casos precisam ser eficientes e executados em um tempo razoável. O problema de representação de casos em RBC pode ser abordado por:
O poder de um sistema de RBC está em sua habilidade em recuperar com rapidez e segurança casos relevantes de sua memória (Base de Casos). O objetivo do processo de indexação é fornecer condições para que um caso semelhante possa ser selecionado e recuperado quando solicitado. Para recuperar um caso, é preciso que ele esteja endereçado apropriadamente na memória, ou seja, é preciso associar o caso a um índice que facilite a sua recuperação. Os tipos de indexação mais utilizados são:
1. Definição do conteúdo que será armazenado.
3. Busca de uma estrutura apropriada para descrever estas características.
• Indexação pelo vizinho mais próximo: baseia-se na distância euclidiana entre o novo caso e os casos armazenados. Um problema relacionado a este tipo de indexação diz respeito ao peso de determinadas características, que só terão o mesmo valor para casos muito semelhantes.
O primeiro problema - definir o conteúdo que será armazenado - significa escolher o que representar dos casos. Na maioria das vezes este conteúdo pode ser dividido em três partes:
• Indexação indutiva: determina indutivamente quais as características mais importantes para os vários casos. A memória de casos é organizada com base nas características encontradas. E possível determinar automaticamente as melhores características de um caso.
2. Determinação das características mais relevantes de cada caso.
• Descrição situacional do problema, que descreve o estado do mundo quando o caso aconteceu e qual o problema a.ser solucionado naquele momento.
• Solução do problema, que descreve a solução encontrada para o problema, em questão e, às vezes, o procedimento utilizado na sua resolução. • Resultado, que descreve o estado resultante do mundo quando a solução foi utilizada. Dependendo das informações armazenadas nestas três partes, pode-se utilizar o caso para diferentes propósitos. O segundo problema é determinar as características mais relevantes de cada caso. Esta é a principal tarefa de Engenharia do Conhecimento em sistemas de RBC. Embora possa parecer trivial, identificar características em casos, principalmente do mundo real, não é simples. Definir a terminologia do domínio e selecionar os exemplos representativos de resolução dos problemas também são tratados aqui. O terceiro problema envolve encontrar a estrutura apropriada para descrever as características relevantes dos casos. Há várias estruturas propostas para a representação de conhecimento. Entre elas, pode-se citar Redes Semânticas e Memória Episódica [Sla91], Roteiro (script), Cena e MOP (AIemory Organization Packet) [SR89]. 150
• Indexação baseada em conhecimento: utiliza o conhecimento existente na literatura para cada caso e determina quais características são importantes para recuperá-los. Esta abordagem é preferível quando o conhecimento está disponível e pode ser representado.
7.2.6 Armazenamento e recuperação de casos Uma vez que os casos estejam representados e indexados, eles devem ser armazenados em uma estrutura eficiente para serem recuperados posteriormente. Isto envolve dois processos: armazenamento e recuperação de casos. No processo de armazenamento, um novo caso é armazenado na memória de casos para que possa ser utilizado no futuro. Quando aparecer um novo problema, o sistema de RBC recupera de sua memória o caso mais semelhante ao problema. Na maioria das vezes, o sistema precisa modificar partes do caso recuperado para obter uma solução adequada, pois raramente o caso recuperado atende perfeitamente às condições do problema. Após a adaptação do caso recuperado, tem-se um novo caso, que poderá ser armazenado ou não na memória de casos. A decisão de quando armazenar um novo caso pode ser tomada tanto automaticamente pelo sistema quanto pelo engenheiro do conhecimento. Segundo [Bar91], a adição de um novo caso à memória de casos pode ser caracterizada como um processo de aprendizado. Em geral, o processo de recuperação de um caso ou conjunto de casos envolve duas fases:
1
151
• Acesso a casos anteriores: recupera uni conjunto de possíveis candidatos a serem escolhidos por meio de algoritmos de busca. Este conjunto é formado por casos que podem fornecer soluções relevantes sobre o problema proposto. Este subprocesso é conhecido como casamento parcial. • Seleção de casos: escolhe o(s) caso(s) ou mais promissor(es) do conjunto de casos previamente acessados utilizando unia função de casamento.
pode ser obtida pela divisão de tarefas entre o RBC e a RNA ou pelo projeto de urna arquitetura inteligente combinando características das duas abordagens. Para o primeiro caso existem, de acordo com [RC94], quatro abordagens, as quais generalizam os diferentes paradigmas utilizados para integrar RBC com outros métodos de raciocínio: • Controle Central, em que o RBC e a outra técnica são controlados por um dispositivo central.
7.2.7 Adaptação de casos
• Controle Distribuído, em que o controle é dividido entre as duas técnicas.
Um sistema de RBC caracteriza- se por utilizar soluções antigas como base para resolver novos problemas . Como novos problemas raramente se encaixam
• Fortemente RBC, quando o sistema RBC exerce um controle maior.
exatamente em algum caso antigo, as soluções anteriores precisam ser modificadas para atender à s novas situações . Este processo é chamado de adaptação.
• Fracamente RBC, quando a outra técnica exerce um controle maior.
São estabelecidas em cada base algumas regras de adaptação que podem ser utilizadas pelo sistema de RBC. Estas regras, aplicadas ao caso recuperado. o transformam em um novo caso que se adequa melhor ao problema apresentado. Como este processo tende a ser um problema específico e dependente do domínio , é difícil definir uma estratégia geral para adaptação de casos. Por exemplo, a estratégia de adaptação necessária para uni problema de projeto deve ser diferente da estratégia de adaptação necessária para um problema de diagnóstico . Geralmente , a adaptação de casos é realizada manualmente pelo próprio usuário. O desenvolvimento de métodos automáticos para a adaptação é uma das principais áreas de pesquisa de RBC.
7.2.8 . Avaliação e reparo de casos
ser obtido treinando a rede para os novos casos.
Após a obtenção de uma nova solução, esta deve ser testada em um processo chamado avaliação, que tem por objetivo verificar se a nova solução resolve o problema apresentado. Esta avaliação pode ser baseada nos efeitos causados quando aplicada ao mundo real, ou na simulação mental ou real. Pode ainda ser baseada no contexto de casos anteriores. Se a solução obtida falhar, devem ser identificadas as causas da falha, identificando, por exemplo, as diferenças entre o que era esperado e o que de fato ocorreu. Finalmente, o processo de reparo, como o próprio nome diz, repara a solução proposta, tornando-a apta a resolver corretamente o problema apresentado.
7.2.9 Integrando RNA com RBC A integração de Raciocínio Baseado em Casos com Redes Neurais tem sido investigada por vários pesquisadores [KW93, Koc96. PP93]. Esta integração 152
Na maioria das propostas de integração de RNA com RBC, as RNAs têm sido utilizadas para indexação e recuperação de casos. Para tal, as redes procuram por padrões de similaridade entre os casos. Outras propostas utilizam as redes durante o processo de raciocínio, extraindo o conhecimento adquirido pela rede para suportar aquele raciocínio. A utilização de RNA para indexação tem como desvantagem a possível necessidade de retreinar a rede cada vez que um novo caso é adicionado à base de casos. Entretanto, algoritmos de aprendizado incremental podem ser utilizados para treinar a rede apenas com os novos casos. Uma outra alternativa envolve o emprego da rede para a aquisição de casos. Para isto, a rede pode ser treinada com exemplos representativos do problema a ser tratado. Após o treinamento, regras poderiam ser extraídas da rede para a construção de uma base de casos. O processo de adaptação poderia
Ene [KW93], Krovvidy e Wee apresentam um sistema de tratamento de esgoto utilizando RBC e RNAs. No modelo desenvolvido neste trabalho, o sistema RBC fornece um estado inicial de uma solução para uma rede de Hopfield que é então utilizada para sugerir uma seqüência ótima de processos para o tratamento do esgoto. Quando uma nova seqüência de processos é necessária para o tratamento de determinado esgoto, as concentrações dos elementos contaminadores deste esgoto são utilizadas para indexar um tratamento que teve sucesso utilizando concentrações semelhantes. Um sistema simples de indexação neural para sistemas RBC foi proposto por Malek, em [Ma195]. O mecanismo de indexação utiliza unia memória hierárquica de casos com dois níveis. O nível mais baixo contém casos organizados dentro de grupos de casos semelhantes. O nível mais alto contém
153
protótipos, cada um representando um grupo de casos. Este nível é utilizado para indexar o sistema. Este sistema de indexação baseado em protótipo foi comparado com outros dois métodos de indexação indutiva, o C4.5 [Qui93] e o ID5R [Qui86], e apresentou uma melhor capacidade de generalização. Outras vantagens exibidas são a diminuição do tempo de recuperação, devido- a um número menor de protótipos, e a simplificação do aprendizado de novos casos.
No trabalho apresentado em [RCB95], padrões de similaridade entre casos de um sistema de RBC são aprendidos por RNAs. Estes padrões são utilizados para avaliação psicológica de candidatos a transplante de coração. O conhecimento implícito armazenado na rede é extraído e interpretado simbolicamente. Posteriormente, ele é armazenado em uma estrutura chamada descritores de diagnósticos, que é utilizada para guiar o processo de raciocínio do sistema de RBC. Neste trabalho, foram apresentados gráficos mostrando a relevância de possíveis combinações de características, dados pelo especialista, para cada diagnóstico considerado. Estes gráficos foram comparados com o conhecimento armazenado rios descritores e verificou-se que o tipo de informação armazenada nos descritores é muitas vezes diferente do conhecimento representado nos gráficos dos especialistas; porém, quando utilizados na prática, a representação dada pelo especialista tem menor taxa de classificação correta que a representação dada pelo sistema de RBC.
7.3 Extração de conhecimento RNAs são conhecidas pelo bom desempenho que geralmente obtêm quando utilizadas em uma grande variedade de aplicações. Entretanto, para várias destas aplicações, é importante não apenas o desempenho obtido, mas também a facilidade de o usuário compreender como a rede chega às suas decisões. Mais especificamente, quando um método é utilizado para classificação, pode ser importante, para o usuário, entender como e por que um dado padrão de entrada foi classificado em uma dada classe. Esta é justamente uma das principais críticas às RNAs: a sua incapacidade de explicar como e por que a rede gera suas respostas. Devido a esta incapacidade, RNAs são comumente chamadas de caixas pretas. Cada vez mais, pesquisadores, projetistas e usuários acreditam que todo o potencial das RNAs não poderá ser completamente explorado enquanto não for acrescentado a estes modelos um mecanismo que explique e justifique suas decisões. Esta necessidade é essencial se as redes forem utilizadas em sistemas em que a segurança na operação seja um aspecto importante. Este é o caso de problemas como: • controle de usinas nucleares; • controle do sistema de navegação de aeronaves; • diagnóstico médico;
Em outro trabalho [RC9I], R\As e RBCs são combinados em um sistema para classificação de transações de cartões de crédito. Enquanto o sistema de RBC utiliza casos específicos para determinar quando uma transação pode ser admitida ou recusada, a rede neural reconhece padrões gerais de comportamento para o uso correto ou incorreto de cartões de crédito e utiliza este conhecimento na classificação das transações.
• diagnóstico de falhas; • análise de crédito; • e muitos outros. Várias definições têm sido propostas para a extração de regras de RNAs. Uma das definições mais completas pode ser encontrada em [CS94]:
Milaré e Carvalho , em [MC98], utilizaram uma Rede Neural ART 1 [CG87b] para indexar um sistema de RBC voltado para o domínio da culinária. Neste trabalho. cada receita era codificada como um caso , que poderia ser utilizado como entrada da rede ART 1. O desempenho da rede para a indexação e recuperação de casos foi comparado com o desempenho obtido pelo método dos vizinhos mais próximos [Fai88], mostrando a superioridade da solução que utiliza a rede. A seção seguinte analisa como pode ser extraído conhecimento de RNAs. 154
Dados uma RNA treinada e os exemplos utilizados para treiná-la, a extração de regras produz uma descrição simbólica precisa e concisa da rede. É importante chamar a atenção para a distinção entre extração de conhecimento e extração de regras de RNAs. Quando são utilizadas técnicas de extração de conhecimento, o conhecimento obtido não precisa necessariamente estar na forma de regras (embora isto aconteça na maioria dos casos). Outras
1
155
neural, extraídas por meio de unia técnica de extração de regras, podem ser utilizadas para comunicação das redes com sistemas simbólicos de IA. As regras criam unia espécie de linguagem comum entre as duas técnicas,
modalidades de conhecimento podem ser extraídas, como valores estatísticos, protótipos de clusters etc. Extração de regras é um caso especial de extração de conhecimento em que regras são extraídas de unia rede previamente treinada. Conhecimento não é necessariamente representado por regras. Deve ser observado, no entanto, que a maioria dos trabalhos encontrados na literatura sobre extração de conhecimento corresponde, na verdade, à extração de regras. Neste capítulo, extração de conhecimento será utilizado como sinônimo de extração de regras. As principais vantagens relacionadas à utilização de técnicas de extração de regras como parte das operações realizadas por RNAs são: • Exploração de dados e dedução de novas teorias: sistemas de aprendizado desempenham um papel importante no processo de descobertas científicas. Uni sistema pode descobrir novos relacionamentos e características importantes nos dados de treinamento, permitindo a formulação de novas teorias. RNAs têm se mostrado eficientes para a exploração de dados, uma vez que, dotadas de um mecanismo de extração de conhecimento, podem descobrir dependências e relacionamentos entre os dados. Além disso, a extração de regras melhora a capacidade das redes para explorar os dados, beneficiando assim o usuário.
facilitando a sua integração. • Redefinir a rede: as regras extraídas da rede podem ainda ser utilizadas para verificar a adequação da arquitetura escolhida para a aplicação na qual a rede está sendo utilizada. É importante ressaltar que a inclusão da capacidade de extração de regras a modelos de RNAs possui um custo, tanto em termos de recursos quanto em termos de esforços adicionais necessários. Por isso, esta inclusão precisa ser bem justificada para não ter uni efeito negativo. Para facilitar a comparação de diferentes algoritmos de extração de regras, serão apresentados a seguir alguns parâmetros referentes a como eles podem ser classificados: • fonte das regras; • extensão das regras: • abrangência da técnica.
• Facilitar a aceitação pelo usuário: uma das características mais elogiadas pelos usuários de sistemas simbólicos é a explicação das decisões tomadas por estes sistemas. Tem sido verificado que a capacidade de gerar explicações, mesmo limitadas (em termos de utilidade e coerência), é um aspecto crucial para a aceitação destes sistemas por seus usuários. No caso de RNAs, a falta de regras explícitas que fundamentem as decisões apresentadas dificulta sua aceitação pelos usuários. Esta deficiência constitui uma barreira clara à expansão de seu uso.
A extração de regras de uma RNA pode ocorrer utilizando as funções aprendidas pelos nodos da rede ou a classificação realizada pela rede para os dados de entrada. Diederich, em [A+96], propõe uma classificação para algoritmos de extração de regras de acordo com a fonte da qual elas são extraídas. Esta classificação leva em conta o poder de expressão das regras extraídas e a complexidade da técnica de extração. De acordo com esta classificação, os algoritmos podem ser divididos em três abordagens:
• Melhoria da generalização das soluções da rede: por expressarem o conhecimento adquirido pela rede durante o seu treinamento, as regras simbólicas podem ser utilizadas para descobrir as circunstâncias em que a rede pode cometer erros de generalização. O usuário também pode utilizar as regras extraídas para identificar regiões no espaço de entradas que não estejam suficientemente representadas no conjunto de treinamento. Dados de treinamento adicionais podem ser então incluídos para melhorar o desempenho da rede.
• Decomposicional ou estrutural: esta abordagem extrai as regras a partir dos nodos da rede treinada. Assim, a estrutura da rede é a principal
• Integração com sistemas simbólicos: as regras aprendidas por uma rede 156
[
fonte das regras. • Didática ou funcional: as técnicas que seguem esta abordagem vêem a rede treinada como uma caixa preta. A extração de regras é unia tarefa de aprendizado cujo objetivo é aprender a função computada pela rede. Portanto, as técnicas que seguem esta abordagem procuram extrair regras que mapeiam a entrada diretamente na saída, sem se preocupar cone os passos intermediários. 157
• Eclética ou combinacional: esta abordagem é uma combinação das abordagens anteriores e inclui técnicas que utilizam conhecimento sobre a arquitetura interna e/ou vetores de pesos para complementar um algoritmo de aprendizado simbólico que utiliza os dados de treinamento. Na abordagem estrutural, o algoritmo também pode ser classificado de acordo com a extensão das condições das regras [Ga193]. As condições da regra para um dado nodo podem ser expressas de duas formas: • em termos dos nodos diretamente conectados a ele; • apenas pelas variáveis de entrada da rede. Caso as regras sejam expressas em termos dos nodos diretamente conectados, a extração da regra para cada nodo será facilitada. Entretanto, se a informação estiver distribuída na rede, de forma que a informação associada a cada nodo não tenha sentido, uma regra envolvendo as variáveis de entrada pode ser uma opção melhor. Uma outra classificação diz respeito à generalidade do algoritmo ou técnica de extração. Neste caso, um dado algoritmo pode ser classificado como: • Geral: quando o algoritmo pode ser aplicado a um grande número de modelos de redes diferentes. • Específico: o algoritmo que pode ser aplicado a apenas um ou poucos modelos. A maioria das regras extraídas é na forma de regras if-then. Estas regras podem ser utilizadas posteriormente em um sistema de inferência lógica para a resolução de problemas. Um segundo uso de regras if-then pode ser a geração de regras para um sistema baseado em conhecimento. É de se supor que é mais fácil para o especialista fazer comentários sobre regras do que criar um conjunto consistente de regras if-then com suas respectivas medidas de confiança. Deve ser observado que quanto mais curtas as regras (em termos de número de cláusulas) melhor, pois regras mais curtas geralmente podem ser aplicadas a mais situações [Gal93]. A seguir são apresentados três métodos de extração de regras de RNAs, os métodos EN [PG92], Trepan [CS96] e DEDEC [AG94]. 158
7.3.1 Método EN O método EN, ou Explanation Facility [PG92], fornece recursos para responder a perguntas do tipo: Por quê?, Como?, feitas a uma Rede Neural treinada. Este método é de implementação simples e pode ser utilizado em quase todos os modelos de redes. Enquanto a opção por quê? define por que a rede gerou uma dada resposta, utilizando um conjunto de valores de entrada, a opção como explica como uma saída foi produzida para um determinado conjunto de valores de entrada. Ambas as opções constroem uma cadeia de regras. De modo a prover essas explicações, o método EN seleciona um conjunto de neurônios baseado nos valores absolutos de todos os pesos ligados a cada neurônio da rede. Deste conjunto de neurônios selecionados são considerados os neurônios mais significativos da rede, que são assim utilizados para a definição das regras.
7.3.2 Algoritmo Trepan O algoritmo Trepan foi desenvolvido por Craven e Shavlik [CS96]. Este algoritmo faz perguntas a uma RNA treinada utilizando os padrões de entrada do seu conjunto de treinamento. As respostas a estas perguntas são utilizadas para a construção de uma árvore de decisão que aproxima o conhecimento representado pela rede. Trepan aborda a extração de um conjunto compreensível de regras de uma rede neural treinada como sendo um problema de aprendizado indutivo. Neste aprendizado, o objetivo é a função representada pela rede, e a descrição do conhecimento adquirido pela rede é uma árvore de decisão que a aproxima. Para evitar que as árvores extraídas fiquem muito grandes, Trepan utiliza um parâmetro para limitar o número de seus nós internos. Para guiar a construção da árvore, Trepan utiliza um oráculo, capaz de responder a perguntas durante o processo de construção. O oráculo, por sua vez, faz perguntas à rede, uma vez que é na rede que está presente o conhecimento a ser extraído. A vantagem de aprender por perguntas, em vez de por exemplos, é que as perguntas podem conseguir, de urna forma mais precisa e específica, as informações que se mostrarem necessárias.
7.3.3 Método DEDEC O algoritmo DEDEC foi proposto por Tickle, Orlowski e Diederich em [TOD95]. Esta técnica é voltada para a extração de regras if-then de redes 1\ILP treinadas com o algoritmo back-propagation. Assim como o Trepan, o DEDEC também
1
159
procura combinar a robustez presente nas RNAs com a capacidade de explicação dos algoritmos de aprendizado indutivo. Para a construção de um grupo de regras, DEDEC seleciona uni subconjunto de exemplos do conjunto de todos os exemplos de treinamento. Para isso, utiliza tanto a rede treinada quanto informações extraídas dos pesos da rede. O grupo de regras é extraído utilizando uni algoritmo de aprendizado indutivo para aprender a partir do subconjunto de exemplos selecionados. Os exemplos selecionados podem incluir exemplos não-utilizados para treinar a rede.
Capítulo 8
Redes Neurais sem Pesos
7.4 Conclusão Neste capítulo, após unia introdução à técnica de AGs, foi mostrado como o projeto de arquiteturas de RNAs do tipo ÃILP pode ser automatizado por estes algoritmos. Foram mostrados os principais aspectos dos processos de codificação, avaliação de desempenho e reprodução. Foram analisados os principais métodos de codificação existentes para representação direta e indireta de arquiteturas neurais. Foi também discutida a integração de RNAs com urna técnica de Aprendizado de Máquina simbólico. RBC. Após uma breve introdução a esta técnica. foram discutidos métodos de integração destes dois paradigmas. Por fim, foi mostrado como regras podem ser extraídas de RNAs treinadas.
7.5 Exercícios 1. Qual o principal inconveniente da otimização genética de RNAs? 2. Em que fases de um sistema RBC seria possível e aconselhável utilizar RNAs? 3. Como poderia ser utilizada uma rede treinada com aprendizado supervisionado para a indexação de casos?
8.1 Introdução Neste capítulo será descrita unia classe de RNAs conhecida como Redes Neurais Sem Pesos (RNSPs) [LdO94]. Esta classe de RNAs começou a ser estudada na década de 60, motivada pelas dificuldades enfrentadas pela comunidade para a implementação em hardware dos pesos das conexões de nados do tipo 1\IcCulloch-Pitts. RNSPs têm sua origem no método das n-tuplas de Bledsoe e Browning [BB59]. Bledsoe e Browning propuseram representar a presença de unia combinação qualquer em partes de um padrão binário através de um valor lógico (sim ou não). Em 1965, Igor Aleksander, um dos pioneiros na pesquisa de RNSPs, propôs um modelo de nodo totalmente digital, baseado em dispositivos de memória de acesso randômico. O modelo, que podia ser utilizado para implementar em hardware o método das n-tuplas, foi batizado inicialmente de SLA1M (Stored Logic Adaptive Microcircuit), passando depois a ser conhecido mais popularmente como RAM (do original Random Access Memory) [A1e66].
4. A função calculada por um neurônio pode sempre gerar urna regra? 5. Qual a principal diferença entre os algoritmos de extração de regras Trepan e DEDEC? 6. Qual a diferença entre extração de regras e extração de conhecimento?
.160
A principal diferença entre as RNAs convencionais e as RNSPs é a forma de armazenar a informação. No modelo com pesos, a informação fica armazenada nos pesos das ligações entre os diversos nodos da rede, enquanto nas RNSPs a informação fica armazenada na memória dos dispositivos, em tabelas-verdade. Em vez de ajuste de pesos, o aprendizado em uma RNSP geralmente consiste em modificar o conteúdo das memórias das tabelas-verdade, o que resulta em algoritmos de aprendizado rápidos e flexíveis. Existem outras diferenças importantes entre as RNAs e as RNSPs: (1) nas primeiras, é possível se ter eu-
161
tradas, saídas e pesos assumindo qualquer valor real, enquanto as RNSPs são essencialmente discretas; (2) os nodos das RNAs computam apenas funções linearmente separáveis, enquanto os nodos das RNSPs computam todas as funções booleanas de suas entradas; e (3) o nodo com pesos é capaz de "generalizar" o conhecimento ensinado, enquanto o nodo sem peso, individualmente, não - neste último caso, a generalização existe apenas no nível da rede.
RNSPs recorrentes têm as principais características das redes de Hopfield (procurando mínimos de energia em tempo de execução), máquinas de Boltzmann (treinamento de unidades escondidas para escapar de mínimos locais) e retropropagação de erros. Retropropagação de erros em RNSPs é mais rápida e mais direta do que nas redes com pesos. Além do mais, RNSPs podem ser implementadas diretamente em hardware usando técnicas de lógica digital.
z
^^...^
c [2 = 11
N
r
. .
. oo ...i
c [1 ]
oo...o L
c [O]
Figura 8.1: Nodo RAM. Vale ressaltar aqui a diferença entre Redes de nodos booleanos e RNSPs. Redes de nodos booleanos são aquelas que lidam somente com valores booleanos em suas entradas e saídas. Embora toda RNSP seja uma rede de nodos booleanos, a recíproca nem sempre é verdadeira, pois existem redes de nodos booleanos que não são RNSP.
Tanto o aprendizado supervisonado [FFB91, BG87, PC87] como o nãosupervisionado [FFB91, TS92, CFB92] têm sido usados com sucesso nas RNSPs. A eficiência dos modelos de RNSPs em aplicações práticas do mundo real tem sido demonstrada em vários experimentos [FFB91, MA93, MTW94, UBB95].
Na Seção 8.2 será vista a definição do nodo RAM seguida de um algoritmo de treinamento genérico para estas redes. Na Seção 8.3 serão descritos os discriminadores, que são redes de uma única camada formada de nodos RAI\Is, e em seguida o sistema WISARD. Na Seção 8.4 serão introduzidos o nodo PLN e um algoritmo de treinamento genérico para redes compostas de nodos PLNs. Na Seção 8.5 estende-se o PLN, definindo a rede IvIPLN, enquanto na Seção 8.6 estende-se o PLN, definindo o modelo GSN. Ainda no decorrer deste capítulo, serão descritos o nodo GRAM (Seção 8.7), o podo GNU (Seção 8.8), o nodo pRAM (Seção 8.9) e os modelos SDM (Seção 8.10), ALN (Seção 8.11) e ADAM (Seção 8.12). O capítulo termina com um estudo comparativo entre as RNSPs e as RNAs.
8.2 Nodos RAM Um nodo RAM funciona no domínio discreto, recebendo como entrada e produzindo como saída valores binários. O nodo é capaz de computar qualquer função lógica com um dado número de entradas. Seu nome decorre da analogia que é feita com os circuitos RAM encontrados na memória principal dos computadores modernos. Considerando um nodo RAM uma tabela-verdade, sua função de saída é descrita pela equação abaixo: J 0 se C [p] =o r=l 1 se C[p]=1
(8.1)
onde C[p] é o conteúdo do nodo associado ao padrão p. A sua estrutura é ilustrada na Figura 8.1, onde em cada nodo RAM temos: • Os terminais de entrada (Ir, I2, .... I,v ), que podem ser entradas externas, saídas de outros nodos ou uma entrada de realimentação ( feedback); • A saída de dados. r, pode assumir o valor 0 ou 1; • Cada uma das 2-Y posições de memória, C[p], endereçadas pelo padrão p, guarda o valor 0 ou 1;
162 163
• Uni terminal de modo de operação, s, que define a fase em que o nodo se encontra: aprendizagem ou uso. Se for aprendizagem (valor armazenado igual a 1). o valor binário de d é guardado na posição de memória relacionada: • Uni terminal de ensino, d. fornece a saída desejada na fase de aprendizagem: Saida
• A conectividade. N. que define o número de terminais de entrada.
Oh
o o
Cada nodo reconhece apenas padrões a que ele foi submetido na fase de aprendizado, ou seja. não há generalização por parte do nodo propriamente dito. A generalização pode ser conseguida a partir da combinação das subcaracterísticas que cada nodo individualmente consegue reconhecer em um padrão. A seguir. nas Figuras 8.2, 8.3 e 8.4. é apresentado uni exemplo. Na Figura 8.2. é apresentado uni modelo simples usando rodo RAM e nina porta AND. O conjunto de treinamento. contendo três padrões para esta rede, é apresentado na Figura 8.3. As RAMs são ensinadas a responder com 1 para os padrões presentes no conjunto de treinamento e somente os padrões que farão com que as três RAINIs tenham saídas 1 serão incluídos na mesma classe do conjunto de treinamento. O conjunto de generalização reconhecido pela rede é mostrado na Figura 8.4. Esta arquitetura simples divide o conjunto de todos os padrões possíveis naqueles que estão no conjunto de generalização e naqueles que não estão. Caso haja a necessidade do reconhecimento de mais de uma classe de padrões. várias redes de nodos RA\I podem ser combinadas, de forma a conseguir alcançar este objetivo. Todavia, essa conexão não é feita através de uma porta lógica entre as várias saídas das diversas redes que compõem o sistema. Em vez disso, um detector de resposta máxima analisa a resposta de cada rede. Essa resposta também deve ser modificada, a fim de expressar o grau de reconhecimento daquele determinado padrão por uma dada rede. O padrão irá pertencer à classe reconhecida pela rede cuja resposta foi máxima. Essa estrutura modificada das redes RABI é chamada de Discriminador e foi usada pioneiramente no sistema WISARD, que será visto detalhadamente adiante. O WISARD foi desenvolvido por Wilkie, Stonham e Aleksander, e passou a ser comercialmente produzido a partir de 1984. 164
^
tJ Aprendizado comum
Figura 8.2: Rede RA-M com 3 nodos.
1
Figura 8.3: Conjunto de treináinento.
1
o
165
4. Cheque Magnitude do Erro Para checar a magnitude do erro, pode-se adotar várias estratégias diferentes quanto à forma de aceitar o erro como desprezível.. Uma regra muito comum é verificar se o erro global da saída da rede em relação à saída desejada é menor que um dado valor (erro). Se a condição adotada é satisfeita, então a rede aprendeu o conjunto de treinamento; caso contrário, volte a ativar o passo Apresente um Padrão de Entrada. Fim do Algoritmo.
8.3 Discriminadores Um discriminador consiste em uma rede de uma única camada com K nodos RABI de N entradas cada, que podem receber padrões de KN bits. Cada nodo é conectado à parte do padrão de entrada. Em conseqüência, (1) cada nó aprende apenas parte do padrão de entrada; e (2) a saída para um padrão completo de entrada não é apenas um bit (0 ou 1), mas um número binário com K bits. Esse número é então processado por um dispositivo somador, que dá como saída o número r de RAMs que disparam para aquele padrão de entrada.
Figura 8.4: Conjunto de generalização: os padrões extras que a rede reconhece.
As redes RANI geralmente possuem nodos com conexão parcial e com conectividade baixa (praticamente de 2 a 10), porque o aumento da memória utilizada por unia RAM cresce exponencialmente com o aumento linear do número
Na Figura 8.5 é dada a representação de um modelo discriminador.
de entradas.
A rede é inicializada com o valor 0 em todas as posições de memória'. Treinar a rede através de um padrão de entrada p significa apresentar o padrão p aos terminais de entrada e colocar 1 em todos os endereços acessados por p em todos os k nodos da rede. Isso faz com que cada RAM na rede aprenda parte do padrão de entrada. O algoritmo de aprendizado para os discriminadores é semelhante ao algoritmo de aprendizado apresentado na seção anterior.
A seguir . é apresentado um algoritmo de aprendizado genérico para redes de nodos RAM. Um algoritmo genérico para redes RAM 1. Apresente um Padrão de Entrada Utilizando uma determinada estratégia de apresentação, coloque um dos padrões de entrada na camada de entrada, e então ative o passo de Selecione Nodos para Aprender.
Vale salientar que a saída de cada nodo é conectada a um dispositivo somatório, logo, a saída da rede corresponde ao número de nodos RAM que responderam com 1 ao padrão de entrada. Esse número é chamado de resposta do discriminador. Claramente, se um dos padrões que foram usados no treinamento da rede for submetido à rede, ele receberá o valor máximo de k. E se um padrão completamente diferente de quaisquer dos padrões de treinamento for submetido, receberá o valor zero.
2. Selecione Nodos para Aprender Selecione uma fração 71 dos nodos para aprender, informe a saída desejada, e ative o passo de Aprenda Saída Desejada. O parâmetro 17 representa a taxa de aprendizagem. 3. Aprenda Saída Desejada Permita que os nodos aprendam a saída desejada e então ative o passo Cheque Magnitude do Erro. 1 66
Uma análise probabilística simples mostra que, para padrões bem próximos a algum dos padrões de treinamento, a resposta da rede também será igual a k.
1
167
Valor da entrada Ft~e
Sa ida
d
Figura 8 .6: Sistema com vários discriminadores - WISARD.
Figura 8.5: Discriminador.
8.3.2 WISARD Os discriminadores são muito usados para resolver problemas de interseção de áreas, determinação de contornos, reconhecimento de formas mediante a presença de ruído (sujeira) etc.
8.3.1 Multidiscriminadores Uni sistema com multidiscriminadores consiste em diversos discriminadores acoplados, em que cada um é individualmente treinado para o reconhecimento de unia classe de padrões. Por exemplo, para reconhecimento de caracteres. é necessário treinar-se um discriminador para cada letra do alfabeto.
O sistema WISARD é um sistema com multidiscriminadores, isto é. um grupo de discriminadores trabalhando juntos, cada um responsável por reconhecer uma determinada classe de padrão. Durante a fase de treinamento do padrão p, a gravação ocorre apenas nas RAMIs que correspondem ao discriminador D; responsável pela classe do padrão p. Após a fase de treinamento, em que todas as classes são treinadas nos seus respectivos discriminadores, o reconhecimento de um padrão desconhecido p' é feito apresentando-se um padrão p' a todos os discriminadores e verificando-se a resposta r de cada um. O padrão será classificado ou associado à classe correspondente ao discriminador com a maior resposta r dentre todas as respostas.
Quando um padrão desconhecido é submetido à rede, a resposta de cada discriminador é calculada (quantidade de RAMs que responderam com 1 ao padrão). O sistema reconhece o padrão como pertencendo à classe cuja resposta é a mais alta. Existem medidas de "confiabilidade" da resposta. Caso o valor de r não seja satisfatório, o padrão é dado como desconhecido para aquela rede.
O WISARD é uma implementação em hardware diretamente direcionado ao reconhecimento de imagens . Um sistema para reconher as 26 letras do alfabeto consiste em 26 discriminadores com K-RAM nodos de N entradas de endereçamento cada. Considera- se que os K -RAM nodos são randomicamente conectados aos bits da imagem de entrada. Porém, na prática, há a limitação de que cada entrada da imagem seja conectada a precisamente um nodo RANI.
A primeira utilização importante dos sistema de multidiscriminadores está presente no projeto WISARD, que será explicado a seguir.
Embora esse modelo tenha sido apresentado para o reconhecimento de imagens, ele pode ser usado para reconhecer qualquer padrão de bits que seja
168
1
169
apresentado a ele, como por exemplo um sistema de reconhecimento de fala. Outra característica importante é que os discriminadores usados na construção do WISARD não precisam ser iguais , uma vez que cada um é usado para reconhecer um conjunto diferente de padrões . Usar discriminadores diferentes não deve influenciar os resultados obtidos. Também se deve treinar exaustivamente cada discriminador com variações do padrão que se deseja que o WISARD reconheça. Após a fase de treinamento, a resposta Rj (% dos K-RAMs que responderam com 1) será obtida de cada um dos J-ésimo discriminadores (1-26). O sistema vai reconhecer o padrão de entrada que se está testando como sendo da classe de padrões pelo J-ésimo discriminador que possuir o maior Rj como resposta. O reconhecimento do maior Rj é feito por um dispositivo chamado CALCULADOR, que também tem outras duas importantes funções: • Medir a confiança absoluta, isto é, não apenas dizer a que classe o padrão pertence, mas também poder dizer que o padrão testado é muito parecido com uni dos padrões de treinamento, ou que o padrão não é parecido com nenhum dos padrões de treinamento, mas, se uma resposta é necessária, dizer que o padrão se parece mais com os padrões da classe J. • Medir a confiança relativa: isto é feito através da relação C = D/Rjmax; onde C é a confiança relativa, D é a diferença entre os dois mais altos Rjs e Rjmax é o maior Rj. Embora as posições dos nodos RA1v1 gravadas com 1 não contenham informações ambíguas, o mesmo não pode ser dito das posições que contêm 0. Um padrão de entrada desconhecido que acesse uma posição que contenha 0 pode significar duas coisas: • o padrão é um contra-exemplo da classe correspondente, supondo que aquela posição foi efetivamente treinada com 0, ou • o padrão é daquela classe, só que aquela posição está com o valor 0 por não ter sido treinada, devido à ausência de um padrão de treinamento com esta posição ativada. No segundo caso, o padrão poderá ser classificado erroneamente. Para superar este problema, Kan e Aleksander [KA89] desenvolveram o PLN (Probabilistic Logic Node), que será descrito na próxima seção. 170
8.4 Nodos PLN Depois de uma tentativa de aproximação entre a máquina de Boltzmann e as redes baseadas em RAM [A1e87], na qual a natureza probabilística dos nodos foi declarada importante para resolver tarefas de completar padrões, Kan e Aleksander propuseram o Probabilistic Logic Neuron (PLN) [KA89]. Um nó PLN consiste em um nodo RAM que armazena, para cada padrão de entrada p, a probabilidade de disparo do nodo para este padrão, e não somente 0 ou 1. Esta probabilidade pode ser então 0 (não-disparo), 1 (disparo) ou u (indeterminado). O valor denotado por u equivale a 0.5 e representa semanticamente um valor indefinido ou desconhecido. As redes de nós PLN são inicializadas com o valor u em todos os nós. A idéia central do modelo PLN é fortalecer a diferenciação entre os padrões vistos durante a fase de treinamento e os padrões não-vistos. Isto porque. inicialmente, todas as células guardam o valor indefinido, e apenas durante o treinamento esses valores são alterados. Para padrões não-vistos durante a aprendizagem, os conteúdos dos nós permanecem com o valor u. Durante o uso da rede, se uma célula com o valor u é acessada, o PLN produz uma resposta 0 ou 1 aleatoriamente . Assim , a função de saída, em vez de ser determinística , como no nodo RAM, torna-se probabilística (aleatória). podendo ser definida da seguinte maneira: 0 se C[p] = 0 r= 1 se C[p]=1 random ( 0,1) se C[p] = u onde C[p] é o conteúdo da célula associada ao padrão p, e random(0, 1) é a função aleatória que fornece 0's e 1's com a mesma probabilidade. Redes PLN podem disparar síncrona ou assincronamente. As últimas se comportam como os modelos de Hopfield e Boltzmann, assemelhando-se a redes com propriedades emergentes de conteúdo endereçável. Em termos teóricos, a inclusão do terceiro valor lógico indefinido requer o dobro de memória para sua representação, ou seja, a memória passa de 2'i bits para um nodo RAM com ci entradas, para 2 x 2`'i bits para um nodo PLN com o mesmo número de entradas.
1
171
O valor indefinido em unia célula é usado para identificar uma entrada nãoutilizada durante a fase de aprendizagem. Assim, se unia entrada que não foi vista durante a fase de aprendizagem aparece na fase de uso, o nodo produz uma saída aleatória que pode ser zero ou um. Essa saída funciona como uma generalização.
En! ada
Entrada Pirâmides Saída
Depois de ter cessado a fase de aprendizagem, uni padrão não-treinado pode fazer com que um nodo PLN produza valores opostos, sem qualquer adaptação adicional. Isto reflete o comportamento probabilístico de nodos PLN, o qual apresenta algumas conseqüências indesejáveis em reconhecimento de padrões [BFF89]. Com a proposta do modelo de nodo probabilístico, as atenções voltaram-se para redes PLN [KA87]. Kan e Alkesander propuseram uma rede associativa de multicamadas formada de pares de módulos de memórias para realizar aprendizagem associativa [KA87]. Os algoritmos de aprendizagem e a arquitetura piramidal foram investigados em [MA88, AAS92, PGS90], funções de ativações em [l\lye89], funcionalidade em [AAS89, AAS92], capacidade de armazenamento em [WS88] e reconhecimento de padrões em [BFF89]. A arquitetura piramidal tem sido utilizada na maioria dos trabalhos realizados com redes PLN . Uma pirâmide é uma estrutura de multicamadas de nodos. Cada nodo é conectado a outros nodos da camada imediatamente anterior, e a saída de cada nodo é conectada a somente um nodo, i. e., o fan-out é 1. A conectividade de cada nodo pode ser arranjada de qualquer maneira; contudo, todos os nodos são comumente utilizados com conectividade uniforme (igual). A Figura 8.7a ilustra a estrutura de uma pirâmide. Múltiplas pirâmides podem ser colocadas lado a lado para formar urna rede com um dado número de saídas, corno ilustrado na Figura 8.7b.
(a)
(b)
Figura 8.7: (a) Estrutura de unia única pirâmide; (b) multipirâmides.
rais. Shapiro , em [Sha89]. mostrou que a existência de somente um caminho de qualquer entrada para a saída faz com que a estrutura de pirâmides não seja adequada para aplicações cone muitas entradas . Al-Alawi e Stonharim [AAS89] propuseram uma técnica para definir o número de funções que podem ser computadas por uma estrutura de pirâmide. Um algoritmo para realizar associação de padrões em unia arquitetura piramidal é o seguinte: Um Algoritmo Genérico para Redes PLN
As pirâmides computam menos funções que as redes de camada única; contudo, diminuem o espaço de memória e aumentam a generalização quando comparadas com uma rede de uma camada cobrindo o mesmo número de pixels.
Passo 1 Apresente um Padrão de Entrada Utilizando uma determinada estratégia de apresentação, coloque um dos padrões de entrada na camada de entrada e então ative o passo de Cheque Indecisão de Aprendizagem.
Existem várias investigações teóricas sobre a capacidade de armazenamento da estrutura de pirâmides. Uma análise estatística das propriedades de aprendizado e recuperação nas pirâmides de PLN, quando aplicadas a armazenamento e reconhecimento de padrões, foi feita por Wong e Sherrington [WS88], que sugeriram que as redes PLNs têm grande potencial como memórias neu-
Passo 2 Cheque Indecisão de Aprendizagem Permite que cada pirâmide produza a saída desejada. Se a saída da pirâmide é diferente da saída desejada durante uni número suficiente de ativações, então ative o passo de Conflito de Aprendizagem; caso contrário, ative o passo de Aprenda Saída Desejada.
172
^.
173
Passo 3 Aprenda Saída Desejada Permite que cada nodo aprenda o valor da sua saída atual , criando assim uma associação (mapeamento) da camada de entrada à camada de saída.
MPLN armazena a probabilidade de o nodo responder com 1 quando a célula é acessada.
Passo 4 Conflito de Aprendizagem O problema de conflito de aprendizagem pode ser resolvido pela adoção da seguinte estratégia:
Os valores armazenados são inicialmente iguais a 0.5 (correspondente ao valor u). Durante o treinamento, o valor em uma célula é incrementado ou decrementado, podendo chegar a 0 (limite inferior) ou a 1 (limite superior).
Apague um Caminho a partir da primeira camada na direção da última camada, colocando valores indefinidos nos conteúdos endereçados de modo que eles possam ser utilizados para aprender a saída desejada, e volte ao passo Apresente um Padrão de Entrada. Fim do Algoritmo. O número de iterações suficiente para decidir se uma pirâmide pode aprender a saída desejada, ou se existe um conflito de aprendizagem, depende de variáveis como conectividade, arquitetura, número de nodos nas camadas, nível de saturação e outras.
O mesmo algoritmo de aprendizagem aplicado para PLN pode ser usado no caso do MPLN. A única diferença, neste caso, é a alteração da função que computa o valor a ser armazenado nos nós quando ocorre alteração de valor (punição-recompensa). A seguinte função computa o novo valor a ser armazenado na célula atual: C[P] C[p] + ?7g( r)
• Há várias fontes de ruído na atividade ligada a redes neurais. Com a introdução da formulação estocástica da rede PLN, acredita-se que se obteve um modelo mais realista desta atividade. • A rede PLN requer um menor número de nós que as RAMMI. Isto, na verdade, está de acordo com a diferença entre um autômato determinístico e um não-determinístico. Pode-se simular o comportamento de um autômato não-determinístico utilizando-se um autômato determinístico, porém geralmente com um custo exponencial associado ao crescimento do número de estados.
8.5 Modelo de nodo MPLN A diferença básica entre o PLN e o IPLN (lllulti-value Probabilistic Logic Neuron) é que, em vez de armazenar um valor do conjunto [0, 1, u], cada nó do
174
(8.3)
onde C[p] é o conteúdo atual da célula associada ao padrão p, e g é a taxa de aprendizagem. g(r) é definida da seguinte maneira (com r sendo a resposta desejada para o nodo):
As redes PLN têm tido notável sucesso em vários tipos de aplicações. Listamos a seguir algumas vantagens das redes PLN em relação às redes RAM: • Devido ao valor lógico adicional u, as redes PLN são capazes de distinguir entre posições de memória treinadas e não-treinadas. Isto tem efeito direto nos algoritmos de treinamento. que poderão trabalhar apenas com as unidades não-treinadas e. assim, ser mais simples e mais rápidos.
recompensa
g(r) _
j +1 se r=1 ll -1 se r=0
Um dos parâmetros que influencia a rapidez com que cada valor chega a 0 ou 1 é o número de elementos no conjunto de possíveis valores de armazenamento (ex.: 0, 0.25, 0.50, 0.75, 1). O outro parâmetro fundamental deste modelo é a função de saída, que pode ser probabilística, linear, step ou sigmoidal.
8.6 Nodo GSN O Goal-Seeking Neuron (GSN), proposto por Filho et. al. em [FBF90, FFB91]1 é um nodo baseado em RANI que pode armazenar {0, 1, u}, onde u é o valor indefinido. Em contraste com PLN, o GSN é capaz de receber e gerar todos os três valores, e pode acessar um conjunto de células, e não apenas uma única célula. Teoricamente, um GSN pode acessar de uma única célula (quando todas as entradas são definidas) até todas as células (no caso quando todas as entradas são indefinidas). O nodo busca por objetivos diferentes quando em. estados diferentes. O GSN tem três estados de operação descritos como se segue: 1. O estado de validação, em que o nodo valida a possibilidade de aprender uma saída desejada sem destruir informações aprendidas previamente.
1
175
2. O estado de aprendizagem, em que o nodo seleciona um endereço e armazena a saída desejada. 3. O estado de uso, em que o nodo produz a melhor saída baseada no processo de aprendizagem. Estado de Validação Quando o nodo está no estado de validação, o objetivo é encontrar um valor indefinido, assegurando que o nodo pode aprender qualquer saída desejada. Se não for possível encontrar um valor indefinido, o nodo pode produzir e aprender um único valor binário. Quando os conteúdos endereçados armazenam um valor indefinido, ou quando existe uma mistura de zeros e uns, a saída será um valor indefinido. A saída será zero quando todos os conteúdos endereçáveis forem iguais a zero. A saída será um quando todos os conteúdos endereçáveis forem iguais a um. Este modo de operação ajuda a propagar valores indefinidos, procurando por células que possibilitem a aprendizagem de qualquer saída desejada. Uma célula nãoutilizada pode armazenar a saída desejada (seja ela 0 ou 1), e, se existem valores opostos, as células que armazenam a saída desejada podem ser usadas sem destruir o que o nodo aprendeu previamente. Estado de Aprendizagem Quando o nodo está no estado de aprendizagem, o objetivo é procurar um endereço que já armazene a saída desejada. Caso contrário, uma célula indefinida pode ser utilizada para armazenar a saída desejada. Se existe mais de uma célula possível, então uma delas é escolhida aleatoriamente. A partir do endereço escolhido, são geradas as entradas que acessam seu conteúdo que servem como saídas desejadas para os nodos da camada anterior. Estado de Uso Quando o nodo está no estado de uso, o objetivo é produzir o valor binário com maior número de ocorrências no conteúdo endereçável. Se o número de 1s nos conteúdos endereçáveis é maior que o número de Os, então o nodo produz 1. Caso o número de Os seja maior que o número de Is, então o nodo produz 0. Assim, mesmo quando os conteúdos endereçáveis 176
possuem um único valor 1 e o resto é indefinido, o nodo irá produzir 1. Para compreender como os nodos GSN são utilizados para formar unia rede , é interessante considerar inicialmente uma arquitetura piramidal feedforward com um algoritmo de aprendizagem que realiza associação de pares de padrões . Modelos de redes GSN com feedback e algoritmos de aprendizagem não-supervisionado podem ser vistos em [FBF92. Sha89]. A rede GSN pode ser entendida considerando a existência de duas fases de processamento: a primeira é a Fase de Aprendizagem, em que a rede valida a possibilidade de associar um padrão de entrada com uma saída desejada para em seguida aprender propriamente a associação: a segunda é a Fase de Uso. quando a rede produz um padrão na saída que é associado com o padrão de entrada. Estas duas fases são descritas e ilustradas a seguir: Fase de Aprendizagem A fase de aprendizagem se divide em estado de validação e estado de aprendizagem. No primeiro estágio desta fase, a rede trabalha passando informações para a frente, e cada pirâmide está indiretamente procurando produzir um valor indefinido no último podo. A saída da pirâmide indica a saída desejada. que pode ser aprendida ou mapeada da primeira à última camada. Uma saída indefinida indica que tanto 0 como 1 podem ser aprendidos. No segundo estágio desta fase, a rede trabalha de trás para a frente, ou seja. da última camada para a primeira. A saída desejada de cada nodo é passada para o nodo conectado da camada precedente (no sentido da última à primeira camada). Antes da fase de aprendizagem, todos os nodos possuem valores indefinidos em seus conteúdos endereçáveis. Isto significa que a rede pode aprender qualquer padrão, e que, quando a rede é solicitada para validar a possibilidade de aprender um padrão, todas as pirâmides produzem o valor indefinido. De modo a ilustrar o mecanismo de aprendizagem, considere unia pirâmide de três camadas com um padrão de entrada nos nodos de entrada como ilustrado na Figura 8.8. Todos os nodos receberam inicialmente valores indefinidos. e a rede foi solicitada a validar o padrão de entrada; assim, todos os nodos produzem o valor indefinido.
177
Figura 8.8: Validação para aprender um primeiro padrão.
Figura 8.10: Validação para aprender um segundo padrão.
Figura 8.9: Aprendizagem de um primeiro padrão.
Figura 8.11: Aprendizagem de um segundo padrão.
178
1
179
A rede é colocada no estágio de aprendizagem para aprender o padrão de entrada com a saída desejada 1. O nodo na última camada seleciona um endereço para armazenar a saída desejada, armazena seu valor no conteúdo e passa os bits que acessam o endereço escolhido corno saída desejada para os nodos conectados na segunda camada. Assim, cada nodo na segunda camada seleciona uni endereço para armazenar sua saída desejada, passada pelo nodo da última camada. armazena seu valor, e por sua vez passa a saída desejada para os nodos conectados da primeira camada. Finalmente, cada nodo na primeira camada armazena sua saída desejada na célula endereçada pelas suas entradas, como ilustrado na Figura 8.9. Um padrão de entrada diferente pode então ser validado, como mostra a Figura 8.10. O estágio de aprendizagem com unia saída desejada diferente do primeiro padrão é exemplificado na Figura 8.11. Para se chegar a um algoritmo de aprendizagem, é interessante descrever como a rede é capaz de comprimir o mapeamento de padrões que possuem a mesma saída em um único mapeamento . A Figura 8 . 12 mostra o estágio de validação para aprender um terceiro padrão de entrada . o qual pode ser aprendido com qualquer saída desejada . A Figura 8 . 13 mostra o estágio de aprendizagem para a rede produzir a saída desejada 1. De fato. a rede utiliza o mesmo mapeamento usado pela saída desejada anteriomente com valor 1. conservando todos os valores indefinidos nos nodos após a primeira camada.
Figura 8.12: Validação para aprender um terceiro padrão.
Fase de Uso A fase de uso consiste em colocar uni padrão de entrada nos nodos de entrada e fazer a rede produzir a saída que melhor represente a aprendizagem realizada. Quando a rede está na fase de uso, seus nodos estão no estado de uso.
17
io lo1
Um GSN no estado de uso procura pela saída binária de maior probabilidade de ocorrência no conteúdo endereçável. Nesta fase, a rede trabalha passando informações para a frente (da primeira à última camada), quando cada pirâmide está indiretamente procurando produzir a saída associada com o padrão de entrada que seja mais provável em função do processo de aprendizagem. É possível que a rede produza uma saída indefinida, significando unia rejeição de resposta para o padrão de entrada. Considerando a rede utilizada na seção anterior, a fase de uso é bem ilustrada pela Figura 8.14, a qual produz uma saída que melhor generaliza o padrão de entrada estimulado.
Figura 8.13: Aprendizagem de um terceiro padrão.
180
-
-
1
181
Figura 8.14: Recuperando um padrão.
O que o algoritmo de espalhamento faz é procurar padrões numa base ra dial, tendo como centróide os padrões armazenados. Ou seja, ele cria um grupo de padrões em torno do vetor de referência com raio igual à distância de Hamming. No primeiro passo, o algoritmo calcula todos os grupos de padrões cuja distância de Hamming é igual a 1 com relação a cada um dos vetores armazenados, e em seguida preenche os conteúdos acessados por esses padrões com a classe mais próxima. Se houver contradição, ou seja, se o padrão calculado tiver a mesma distância de um padrão pertencente à classe 1 e de outro padrão pertencente à classe 2, o conteúdo endereçado pelo padrão será deixado em u. Em seguida, repete-se o processo acima para uma distância de Hamming igual a 2, e assim sucessivamente até um número máximo MAX de iterações definido pelo usuário. Quando MAX é igual ao número de entradas do nodo, a generalização é dita ser completa, pois o número de entradas é igual à distância máxima que um vetor pode ter do outro.
Sabendo-se que apenas as localizações acessadas pelos padrões de treinamento são modificadas durante o aprendizado, um PLN sofre de hesitação . quando o conjunto de treinamento é pequeno, porque muitas entradas são deixadas no estado u. Além disso, nodos RAMs e PLNs só conseguem generalizar no. nível da rede. Com o acréscimo de uma fase de espalhamento no algoritmo de aprendizagem, uma única memória PLN é capaz de generalizar. Uma vez que nodos individuais com este algoritmo de aprendizagem são capazes de generalizar (implicitamente, devido à fase de espalhamento), eles são conhecidos na literatura como GRAMs (Generalizing Random Access Memories).
O espalhamento dos vetores do conjunto pode ser comparado a um arremesso de duas pedras em um lago calmo. O lago é o espaço booleano antes do treinamento , quando todos os conteúdos de memória são iguais a u. O arremesso das duas pedras é equivalente a armazenar os dois vetores do conjunto de treinamento. A propagação de duas ondas em forma de anéis é comparada ao espalhamento dos vetores de raio igual à distância de Hamming com relação a cada um dos vetores . O encontro das duas ondas ao caso corresponde quando o espalhamento produz vetores que têm a mesma distância de Hamming com relação aos dois vetores de treinamento , ou seja, quando há contradição. Braga e Aleksander [BA94] desenvolveram um modelo para predizer a percentagem do espaço booleano em que há superposição entre duas classes, bem como a probabilidade de ocorrer cada uma das duas classes na fase de espalhamento.
Depois da fase de treinamento, o conteúdo do nodo GRANI contém 1, 0 ou u. Em seguida, vem a fase de espalhamento, quando se calcula um conjunto de padrões que são semelhantes (têm a mesma distância de Hamming) àqueles que são da classe 1, e calcula-se também um conjunto de padrões que são parecidos com aqueles que são da classe 0. Em seguida, os conteúdos de memória que contêm u, e são endereçados pelos padrões parecidos com a classe 1, são preenchidos com 1, e os que são endereçados pelos que são da classe 0 são preenchidos com 0. Os padrões que têm a mesma distância de Hamming de um da classe 1 e de um da classe 0 são ignorados. Em conseqüência, no final do espalhamento ainda haverá locações de memória iguais a u, correspondentes a esses padrões.
Aleksander , Clarke e Braga [ACB94 ] também desenvolveram um algoritmo de espalhamento chamado Combined Generalization Algorithrn (CGA), o qual combina propriedades de RNSP e de sistemas de aprendizado hebbiano. É definida uma nova unidade de medida de distância chamada Distância de Discriminação , havendo uma função similar para sinapses na aprendizagem hebbiana . Esta distância leva em conta o poder de discriminação das variáveis de entrada, determinando um coeficiente de discriminação para cada vetor de entrada utilizado no espalhamento . Quanto menor for a distância de discriminação entre dois vetores, mais similares eles vão ser ( produzirão saídas próximas ). Ou seja. a proximidade entre dois vetores é calculada pela resposta
8.7 GRAM
182
1
183
que eles produzem , e não pela forma, como na distância de Hamming. Um problema encontrado na utilização do nodo GRAM é o tempo gasto no processo para realizar a generalização, que é muito grande quando comparado ao GSN, PLN e RAM.
8.8 GNU O GNU (General Neural Unit) é um modelo de rede binária recorrente baseado em nodos GRAM. Sua arquitetura é semelhante à arquitetura das redes de Hopfield, diferindo destas redes por possuir ligações externas de feedforward e ligações internas de realimentação. Os GNUs não são exclusivamente autoassociativos como a rede de Hopfield, pois contêm entradas externas em seu modelo. Vários trabalhos com GNUs já foram desenvolvidos. Por exemplo. foi demonstrado por Lucy [Luc91] que redes auto-associativas (sem entradas externas) conseguem armazenar 2" padrões. e que. dado um vetor (estado inicial). a rede consegue recuperar o estado mais próximo. Aleksander e ?\Iorton [A'-\I911 mostraram que a propriedade de recuperação dos GNUs (com entradas externas) tem um ótimo desempenho quando há um balanceamento perfeito entre as ligações feedforward e de realimentação. Braga [Bra94b] obteve um conjunto de expressões que predizem as contradições que acontecem durante o armazenamento de dados em GNUs parcialmente conectados. Ele também mostrou que o tempo de recuperação dos GNUs é uma função do número de associações armazenadas [Bra94a]. Está em desenvolvimento o programa MAGNUS. que simula GNUs com dados reais [IAP93]. O processo de armazenamento se dá pela criação de lima associação entre o padrão externo e sua representação interna. O armazenamento de uma associação [l;e, l;'] entre um padrão externo ee e sua representação interna ^' é feito apresentando-se o padrão externo çe às entradas externas do GNU e travando-se (clamping) a saída da rede emb '. Cada memória que foi acessada durante o armazenamento de uma associação terá seus conteúdos armazenados coro suas respectivas saídas, que fará esta configuração estável durante a fase de recuperação, isto é, se Ç for apresentado de novo na entrada, a saída será ^'. O espalhamento acontece em todos os GRAMZs depois que termina o processo de associação. A principal diferença entre os GNUs e as redes de Hopfield é que nas redes de Hopfield, para acomodar um novo padrão, os pesos são mudados 184
comprometendo a generalização de outros padrões já armazenados quando há superpreposição. Em redes GNUs completamente conectadas, embora novas associações possam afetar o desempenho da recuperação de padrões, a estabilidade é garantida, uma vez que a demanda somente é escrita dentro dos registros das RAAIs. Só não é garantida a estabilidade quando a rede é parcialmente conectada, pois isto degrada a capacidade de memória. Na fase de recuperação, os GNUs operam sincronamente, produzindo as respostas ao mesmo tempo. Como alguns conteúdos de memória contêm o estado u. depois do treinamento, a recuperação tem uma natureza estocástica (estatística), pois sua saída pode ser 0 ou 1. O estado de saída de um nodo é função do tempo e das ligações de realimentação e feedforward. Dessa forma, o sucesso de uma recuperação de unia associação [^'. t;'] depende do estado inicial da rede. É claro que. se o estado inicial for 1;', o sucesso é garantido, mas pode falhar para outros estados iniciais. A falha dos processos de associação é devida ao armazenamento de associação além da capacidade da rede. Isso cria pontos fixos para onde a rede pode ser erroneamente atraída. Porém, se não há sobrecarga. o sucesso é garantido.
8.9 pRAM Com o intuito de criar um modelo neural que possuísse a característica de generalização e não de linearidade, Gurney propôs nodos cúbicos equivalentes a nodos "sigma-pi" [Gur92], e Taylor [Tay72] desenvolveu um modelo booleano baseado no modelo PLN, o pRAM. O modelo pRAM é um modelo booleano inspirado em nodos biológicos que, semelhantemente ao MPLN, pode armazenar valores em suas posições de memória diferentes de 0's e 1's, na faixa entre (inclusive) 0 e 1. Isso embute no modelo a característica de poder armazenar também dados probabilísticos dos diversos padrões, também de maneira análoga ao MLPN. Essa propriedade dá ao modelo mais realismo, visto que os "ruídos" que acontecem nas sinapses dos nodos no cérebro também, de certa forma, podem ser simulados no pRA',\I. Aprendizado por reforço é usado para treinar redes deste modelo, uma vez que foi observado que esta também é a forma de aprendizado no cérebro e que o algoritmo é bastante simples e conveniente para ser implementado em hardware.
1
A fase de apresentação dos padrões de teste após a fase inicial de treinamen185
e
h a
to é similar à dos nodos PLN. Quanto maior o valor do conteúdo das posições de memória, maior a probabilidade de a saída do nodo ser 1, ou seja, maior á probabilidade de ativação do nodo. Uma propriedade interessante que o pRAM possui e que os demais modelos booleanos não possuem é a capacidade de aceitar entradas com valores reais.
8.10 SDM A idéia deste modelo reside no uso de decodificadores distribuídos em um espaço booleano de alta dimensão [Kan88]. Os decodificadores poderão ser acessados por qualquer padrão de entrada. A condição para este acesso é que o padrão de entrada se encontre a uma distância de Hamming de rr bits do endereço-base do decodificador. Um decodificador será ativado por todos os vetores de entrada que se encontrarem dentro de uma hiperesfera de raio rp centrada no endereço-base. Essa distância de Hamming representa a quantidade de bits diferentes entre os dois vetores; por exemplo, o vetor 11010 está distante de uma unidade do vetor 11011. Os decodificadores correspondem a posições de memória e serão ativados por qualquer padrão que possuir uma distância de Hamming de um dado rp (geralmente 1) do endereço-base deste codificador. Isto diminui o problema de posições de memória vazias iniciais no período de treinamento da rede. Vários decodificadores podem ser acessados por um mesmo vetor de entrada. Para isso, o vetor de entrada deve ter uma distância de Hamming em relação aos codificadores tal que ela seja de r, (ou menor, em alguns casos) para o i-ésimo decodificador. Em outras palavras, o padrão deve encontrar-se na região de interseção entre os vários decodificadores. Por exemplo, suponha dois decodificadores: Do -+ Endereço-Base: 000 Raio:1 D1 Endereço-Base: 110 Raio:1
A escolha do raio de cada hiperesfera.não é arbitrária. Ela deve ser tal que pelo menos um decodificador seja ativado a cada amostragem de padrão. Para este fim, os decodificadores escolhidos (endereços ) e seus respectivos raios devem ser tais que a união dos mesmos (endereço-base e endereços alcançáveis pelo decodificador) gere todas as 2" possibilidades de combinação. Com isto, podemos verificar alguns casos extremos. Por exemplo, para um raio nulo, apenas um padrão poderá ativar algum decodificador. Para o caso rp = n qualquer padrão ativará todos os decodificadores. Para 0 < rp < n, existem vários trabalhos para prever a quantidade (probabilística) de decodificadores a serem acessados por um padrão. O modelo SDM pode ser comparado ao modelo RAM, observando-se que este último pode ser simulado por SDM, onde rp = 0 e a quantidade de decodificadores é igual a 2". Todavia, existem diferenças significativas entre os dois modelos, descritas a seguir: • qualquer decodificador no modelo RAM só poderá ser ativado se algum padrão coincidir com o endereço-base do decodificador (rp = 0); já no modelo SDM (supondo rp > 0), outros padrões poderão ativar este decodificador. • o modelo RAM possui exatamente 2" decodificadores (exatamente o número de células), onde n é o tamanho do vetor de entrada, enquanto o modelo SDM possui apenas uma quantidade m de decodificadores (m < 2"), dependendo do raio rp para cada decodificador. • o modelo SDM não guarda apenas, nas suas posições de memória, um bit relativo ao vetor que o acessou. como o modelo RAM faz, mas também guarda uma medida estatística de todos os vetores que acessam aquela posição.
8.11 ALN
Desta maneira, qualquer vetor do conjunto (000,001,010,100) ativará o primeiro decodificador, e qualquer vetor do conjunto (110,010,100,111) ativará o segundo decodificador. A interseção desses conjuntos resulta no conjunto (010,100), ou seja, qualquer vetor deste conjunto ativará ambos os decodifi-
186
cadores.
0 Modelo ALN (Adaptive Logic Netu,ork) [AG79] é uma versão simplificada do modelo backpropagation. Usando apenas um conjunto restrito de funções booleanas, este modelo representa mais uma opção de modelo neural booleano. A estrutura de uma rede ALN é constituída por várias árvores piramidais de nós, sendo cada nó um nodo. Associados a cada terminal de entrada de um
1
187
nodo, existem dois canais que são usados durante a fase de treinamento para indicar qual será a função de resposta do nodo. Os nodos da primeira camada receberão como entrada o próprio vetor de entrada, randomicamente. Nodos ALN podem computar somente 4 funções booleanas : E, OU, DIREITA, ESQUERDA. Essas funções darão como resposta para um nodo com entradas Ir e 12 os seguintes resultados: • E resulta em Ir E I2; • OU resulta em Ir OU I2;
Evaluation permite o processamento da resposta de uma função sem precisar, em alguns casos. do conhecimento prévio de todos os parâmetros dessa função, pois apenas alguns parâmetros já podem indicar a resposta da função. Uni exemplo bastante simples é a função AND. Se um avaliador tem esta função e recebe, num dos canais do nodo. o valor 0 (falso), a resposta do nodo será 0, independentemente do segundo parâmetro da função. Isto aumenta consideravelmente a velocidade de processamento da rede. Utilizando este mesmo princípio, concluímos que nem todos os nodos de uma rede ALN precisam ser analisados para saber-se o resultado final de uma árvore. Dessa maneira, podese conseguir um melhor desempenho. não só da fase de aprendizado da rede mas também da fase de teste, já que o avaliador também será utilizado.
• ESQUERDA resulta em Ir; • DIREITA resulta em I2.
8.12 ADAM
Essas funções não foram escolhidas aleatoriamente. Elas têm a propriedade de representar as funções booleanas crescentes não-constantes de duas variáveis. Essa propriedade de crescimento significa que, se um nodo tem unia de suas entradas alteradas para 1, essa entrada não poderá ser alterada para zero. Isso significa dizer que a rede nunca decresce o valor das entradas dos nodos. Intuitivamente, poderíamos pensar nesta propriedade como significando que, se uni nodo "aprendeu" algum padrão, o algoritmo de aprendizagem não pode fazer com que este nodo "esqueça" este padrão. O treinamento desse tipo de rede é realizado da seguinte forma. Primeiramente, as árvores da rede são treinadas seqüencialmente. Antes de treinar cada árvore, é escolhida aleatoriamente a função booleana para cada nodo da mesma. Depois é estabelecido uni número de épocas de treinamento, e todas as entradas dos nodos são setadas para 0. Para cada época de treinamento, o padrão será submetido à árvore, variando a sua ordem de maneira randômica. Assim, de acordo com a função de cada nodo, as respostas dos mesmos vão sendo calculadas, e, de acordo com o par de entradas de cada nodo, o estado interno do nodo vai sendo alterado. O treinamento finaliza quando o número de épocas acaba ou quando há uma convergência para o resultado esperado. Vale a pena ressaltar o fato de que cada árvore da rede é avaliada independentemente das outras. A avaliação das respostas de cada nodo depende apenas da entrada e da função booleana que este possui. Todavia, essa avaliação (aplicação) da função pode levar um tempo razoável na fase de treinamento da rede, comprometendo assim o seu desempenho. Para não degradar o desempenho da rede, este modelo utiliza a noção de Lazy Evaluation. A técnica de Lazy 188
O modelo ADAM (Advanced Distributed Associative lllemory) [AS87] surgiu com o intuito de reduzir alguns problemas das redes de \Villshaw [WVBLH69]. O modelo ADAM é uma arquitetura associativa que combina uma n-tupla tanto de entrada como de saída com dois estágios da rede de \Villshaw. ADAM usa uma técnica baseada eni pré-processamento de n-tuplas com o intuito de reduzir a saturação da matriz de memórias do sistema corno uni todo, e também para permitir que a rede lide com não-linearidades. As associações de padrões e suas classificações, assim como seu armazenamento, são de responsabilidade das redes de \Villshaw (mais precisamente, de duas redes de Willshaw), usando uma classe intermediária de padrões entre as duas matrizes com um número conhecido de bits com o valor 1, o que reduz significativamente o custo com relação à memória necessária e aumenta a tolerância a distorções dos padrões por parte da rede. O problema da escolha dos limiares para as redes de Willshaw é solucionado com o uso de ADAM por uma técnica chamada de n-ponto, em que as n saídas de maiores somas são selecionadas. Este modelo possui uma grande capacidade de armazenamento, além de possuir boa tolerância a erros binários. Algumas modificações recentes têm permitido o uso do modelo ADAM para aplicações em tratamento de imagens.
8.13 Estudos comparativos Estudos comparativos de dois tipos, confrontando RNSPs com RNAs, foram desenvolvidos por Aleksander [A1e91, A'\1901. Nesta seção, apresentaremos os
^.
189
1 1
• Regra de Ativação: um mapeamento da entrada para saída da rede.
principais resultados destes estudos. O primeiro estudo [AM90] é baseado em perceptrons, sistemas de memória de conteúdo endereçável, aprendizado através de erros e capacidade de generalização. • Perceptrons: Um perceptron pode ser definido com nós RAMs utilizando uma estrutura como o WVISARD. • Sistemas de memória de conteúdo endereçável: o eixo do paradigma de Hopfield e Boltzmann requer grandes nodos que, em última análise, são nodos com k entradas para k elementos da rede. Discriminadores podem ser pensados como sendo um nodo assim. Uma outra alternativa para sistemas de memória de conteúdo endereçável é utilizar uma rede PLN completamente conectada. Nos dois casos, vale salientar que o custo da memória cresce exponencialmente com o crescimento da rede. • Aprendizado através de erros: em RNSP, o método de aprendizado utilizando erros pode ser alcançado através da alimentação com a informação do erro para todas as camadas escondidas num sistema feedforward paralelo.
• Regra de Aprendizado: mudanças nos conteúdos das tabelas-verdade.
8.14 Conclusão Neste capítulo foram apresentados vários tipos de RNSPs, que têm sido utilizadas em diversas aplicações práticas, conforme demonstrado em vários estudos [BFF89, MA93, FL88, UBB95]. Foi destacada , nos modelos estudados neste capítulo, a velocidade do processo de aprendizagem , devido à existência de independência mútua entre os nós, quando as "entradas são alteradas, o que contrasta com as RNAs convencionais. O nodo RAM foi melhorado pela adição de novas características aos métodos de aprendizagem , resultando em modelos tais como PLNs, GRAMs, GSNs etc. Essas novas características do modelo sem pesos tornam-no ainda mais promissor para resolver os problemas da área de RNAs.
8.15 Exercícios • Generalização: embora a maioria dos nós sem pesos não generalize por si só, as redes formadas por conjuntos destes nós podem generalizar.
1. Defina um nodo RAM usando nodos MCP. 2. Defina um nodo MCP usando nodos RAM.
Em outro estudo [A1e91]. direcionado especificamente para o modelo Processamento Paralelo Distribuído (PDP - Parallel Distributed Processing), é apresentada a maioria das definições para RNSP dos conceitos relativos a PDP. Essas definições estão resumidas a seguir: • Unidades de Processamento: um nodo sem peso (qualquer um dos nodos descrito neste capítulo), por exemplo, um nodo RAM ou um nodo PLN. • Estado de Ativação: um vetor de N elementos, em que cada elemento é a representação decimal da entrada do nó correspondente.
3. Comente sobre as similaridades e diferenças entre a arquitetura dos discriminadores (por exemplo o WISARD) e uma arquitetura com múltiplas camadas como o multi-layer perceptron. 4. Qual o conjunto de generalização obtido se trocarmos a porta AND por uma porta OR no exemplo da Figura 8.2? 5. Faça uma tabela com as principais vantagens e desvantagens de cada um dos modelos estudados neste capítulo.
• Saída das unidades: a saída r dos nós descritos neste capítulo. • Padrões de Conectividade: matriz binária sem pesos. • Regra de Propagação: a responsabilidade de aprender recai nos mapeamentos de entrada-saída, encontrados nas próprias unidades. 190
1
191
Capítulo 9
Variações O propósito deste capítulo é introduzir temas que, embora importantes para o estudo de Redes Neurais , não justificam , dada a limitação do escopo deste livro , um capítulo dedicado a cada um deles . Serão discutidos aqui os seguintes temas:
a
• Redes RBF; • Redes construtivas; • Processamento temporal. O primeiro tópico a ser abordado diz respeito a um modelo de redes multicamadas que tem atraído interesse crescente da comunidade de Redes Neurais. Este modelo utiliza funções de base radiais para os nodos da camada intermediária [BL88], e é conhecido como RNA de funções de base radiais. ou rede RBF. Nos últimos anos tem havido uma variedade de propostas para o desenvolvimento de RNAs que possam definir sua estrutura dinamicamente durante o seu treinamento. Esta mudança pode envolver tanto a eliminação de nodos e/ou conexões da rede, como acréscimo de nodos e/ou conexões à rede, ou ainda uma combinação destes dois processos. A segunda seção deste capítulo será dedicada a este tópico. Por fim, serão apresentadas algumas redes adequadas para o processamento temporal. Estas redes, chamadas de recorrentes, apresentam conexões de feedback entre nodos de uma mesma camada ou de camadas diferentes, que é o caso mais comum. 193
e e
e e e
Apesar de a rede ilustrada apresentar apenas um nodo de saída, estas redes podem ter qualquer número de nodos nesta camada. Cada camada de uma rede RBF desempenha um papel específico para o seu comportamento. A primeira camada, cujos nodos utilizam funções de base radiais, agrupa os dados de entrada em clusters. Esta camada transforma um conjunto de padrões de entrada não linearmente separáveis em um conjunto de saídas linearmente separáveis. A segunda camada - camada de saída - procura classificar os padrões recebidos da camada anterior. Esta camada pode ser uma rede do tipo Adaline [WH60], uma vez que seus padrões de entrada são linearmente separáveis.
o o
Funções radiais representam uma classe especial de funções cujo valor diminui ou aumenta em relação à distância de um ponto central. Diferentes funções de base radiais têm sido utilizadas em redes RBF. As mais comuns são:
Camada Camada Entrada Camada de entrada intermediária de saída Figura 9.1: Rede RBF típica com uma camada intermediária. Os nodos da camada intermediária são funções de base radiais.
• Função gaussiana: f (u) = exp(-2=d • Função multiquadrática: f (u) = (J_+ c r7-); • Função thin-plate-spline: f (u) = v2 log(v).
9.1 Redes RBF A função de ativação aplicada a cada nodo da maioria das redes multicamadas utiliza como argumento o produto escalar .do vetor de entrada e do vetor de pesos deste nodo. Existem, porém, redes multicamadas em que a ativação de uni nodo pode ser função da distância entre seus vetores de entrada e de peso. Unia destas redes 'é a rede de Funções Base Radiais, RBF (Radial Basis Function). Este nome se deve à utilização, pelos nodos da camada intermediária, de funções de base radiais. Os nodos das camadas intermediárias das redes do tipo MLP utilizam, geralmente, funções de base sigmoidais. Nesta seção serão apresentados os principais conceitos referentes a estas redes, começando pela arquitetura utilizada, seguido pelo seu treinamento. Ainda nesta seção, estas redes serão comparadas com as redes MLP.
onde v = lix - Mil, que é dado geralmente pela distância euclidiana, x é o vetor de entrada, e µ e u representam o centro e a largura da função radial, respectivamente. Deve ser observado que estas funções podem ser utilizadas em qualquer tipo de rede (com uma ou mais camadas intermediárias). Contudo, depois do artigo de Broomehead e Lowe em 1988 [BL88]. é comum associar redes RBF a uma RNA com apenas uma camada interna. Como pode ser observado nas funções apresentadas, as funções radiais mais utilizadas possuem dois parâmetros: o centro µ e o raio a. A distância euclidiana 11x - µ11 do vetor de entrada x ao vetor centro ui serve de entrada para a função, que retorna o valor de ativação da unidade intermediária. A resposta gerada por um dado nodo de saída, nj, da rede, é definida pela Equação 9.1:
E yi=r-
9.1.1 Arquitetura É comum associar a rede RBF a uma rede com uma camada intermediária, embora redes RBF com mais de unia camada intermediária tenham sido propostas [HL91]. A arquitetura típica de uma rede do tipo é ilustrada pela Figura 9.1.
194
w1io(IIx
-
mil l
+w, o
(9.1)
i=1
onde wjo representa o termo de polarização. Comparando redes RBF com redes MLP Tanto as redes RBF como as redes MLP são aproximadores universais de funções, portanto são redes teoricamente equivalentes. Existem, no entanto,
1
195
Classe 2
Fronteira 1
1
Classe 3
Cluster 2
Figura 9.2: Particionamento dos dados de entrada realizado por uma rede RBF com quatro nodos na camada intermediária.
Figura 9.3: Particionamento dos dados de entrada realizado por uma rede MLP com urna camada intermediária formada por três nodos.
várias diferenças entres estes dois modelos. A primeira diferença diz respeito à partição do espaço de padrões de entrada realizada pela camada intermediária de cada modelo.
Uma outra diferença entre as redes MLP e RBF é que, enquanto nas redes MLP o valor de ativação de uma unidade n.j da camada interna é unia função do produto escalar entre o vetor de entrada e o vetor de pesos da unidade, na rede RBF o valor de ativação é dado em função da distância euclidiana entre o vetor de entrada e o vetor centro da unidade. Além disso, o treinamento de redes MLP é bem mais lento que o de redes RBF. A Tabela 9.1 ilustra as principais diferenças entre uma rede I\ILP e uma rede RBF.
Cada nodo da camada intermediária de uma rede RBF define uma hiperelipsóide no espaço de padrões de entrada. Desta forma, uma rede RBF constrói aproximadores locais. isto é, apenas as regiões do espaço de entrada que apresentam dados de treinamento terão resposta da rede. A resposta de uma função radial (por exemplo, a função gaussiana) diminui conforme os padrões (pontos do espaço de entrada) se distanciam do centro da função radial. A Figura 9.2 ilustra a partição dos dados de entrada realizadas por uma rede RBF com quatro nodos na camada intermediária. As redes MLP, por outro lado, particionam o espaço de -entradas através de hiperplanos. como pode ser visto na Figura 9.3 no caso de uma rede com apenas uma camada intermediária de três nodos. Uma rede \ILP constrói aproximadores globais com maior capacidade de generalização para regiões onde não há dados de treinamento. Entretanto, isto permite que nodos completamente diferentes daqueles utilizados no treinamento sejam classificados em uma das classes existentes, o que é conhecido como problema dos "falsos padrões".
196
Funções de base radiais Assim como ocorre para as redes MLP, durante o projeto de redes RBF é necessário definir o número de nodos da camada intermediária. Como cada nodo agrupa os padrões em um cluster, que é posteriormente utilizado pelos nodos da camada de saída, esta escolha deve ser realizada de forma criteriosa. Uma alternativa é definir o número de nodos como igual ao número de padrões de entrada. Quando o número de funções radiais é igual ao número total de padrões de treinamento, cada centro pode ser situado sobre uni vetor de entrada. Com isso, a rede RBF mapeia com exatidão o vetor de entrada para a saída correta. Contudo, esta interpolação exata é indesejável, principalmente no caso de exemplos com ruído, pois pode levar ao overfitting.
197
o
rede MLP convenTabela 9.1: Comparação de uma rede RBF típica com uma
Rede MLP versas Rede RBF MLP
RBF
Pode ter uma ou mais camadas intermediárias Nodos das camadas intermediárias e de saída têm funções semelhantes
Geralmente possui apenas uma camada intermediária Nodos das camadas intermediárias têm funções diferentes dos nodos da camada de saída Entrada da função de ativação é a distância euclidiana entre os vetores de entrada e de pesos Separa padrões de entrada com hiperelipsóides Melhor em problemas bem-definidos Constrói aproximadores locais para mapeamento entrada-saída
Entrada da função de ativação é o produto interno dos vetores de entrada e de pesos Separa padrões de entrada com hiperplanos Melhor em problemas complexos Constrói aproximadores globais para mapeamento entrada-saída
Uma das maneiras de tratar o problema consiste em utilizar um número de funções radiais menor que o número total de padrões de treinamento. Além disso, as posições dos centros não devem ser restritas apenas aos. vetores de entrada. A escolha das novas posições deve ser realizada durante o treinamento da rede.
-Primeira fase de treinamento A seguir serão apresentadas algumas abordagens para o primeiro estágio de treinamento. A primeira abordagem, proposta por Broomhead e Lowe [BL88], seleciona os centros aleatoriamente a partir dos padrões de treinamento. Esta abordagem assume que os padrões de treinamento estão distribuídos de uma maneira representativa para o problema considerado, ou seja, os padrões são capazes de capturar as principais características do problema, o que nem sempre é o caso. Uma segunda abordagem sugere a utilização de técnicas de clustering. Neste caso, por meio de um aprendizado não-supervisionado, os centros são estrategicamente posicionados em regiões do espaço onde estão situados os vetores de entrada mais representativos. O método mais utilizado para realizar este processo é o algoritmo K-means-clustering, ou K-médias [1\,Iac67, MD89b]. O algoritmo K-médias particiona o espaço de padrões em K regiões ou grupos. Esta partição é realizada da seguinte maneira: inicialmente, são escolhidos aleatoriamente K vetores de entrada para serem os centros de K grupos de padrões. Os outros vetores de entrada são atribuídos ao grupo que tiver o centro mais próximo. Para isto, geralmente é utilizada a distância euclidiana. Após esta fase, os centros são recalculados para que sejam o vetor médio do seu grupo, ou seja, a média dos vetores pertencentes ao grupo. Novamente os vetores de entrada são apresentados e associados ao centro mais próximo. Este processo de redefinição dos centros e dos vetores associados a cada centro é repetido até o algoritmo convergir, isto é, até os centros não precisarem ser modificados.
9.1.2 Treinamento Vários métodos têm sido propostos para o treinamento de redes RBF. Na maioria destes métodos, o treinamento é classificado como híbrido. uma vez que é dividido em dois estágios. No primeiro estágio, o número de funções radiais e seus parâmetros são determinados por métodos não-supervisionados. O segundo estágio de treinamento ajusta os pesos dos nodos de saída. Como a saída dos nodos da camada intermediária é um vetor linearmente separável, os pesos podem ser determinados por modelos lineares, como o algoritmo LMS (regra delta) [WH60] ou Decomposição em Valores Singulares [Lay97]. O treinamento híbrido geralmente requer um número de nodos intermediários maior que o treinamento supervisionado. 198
Este algoritmo divide os vetores de entrada em K conjuntos SJ disjuntos contendo NN vetores cada. Os centros são posicionados no ponto médio de cada conjunto SJ. A finalidade do algoritmo é minimizar a soma dos quadrados das distâncias entre os vetores de entrada e o centro do conjunto Sj ao qual eles pertencem. O algoritmo K-médias é apresentado a seguir: 1. Associar os primeiros K vetores de entrada aos K centros 2. Para cada novo vetor de entrada faça 2.1 Associá-lo ao grupo mais próximo 3. Calcular as novas posições dos centros
1
199
4. Repetir 4.1 Para cada vetor de entrada faça
^^ nt
Ilu.i
-
liA
4.1.1 Calcular a distância para todos os centros onde µj é o centro mais próximo de µi em termos de distância euclidiana e 11 Fri - µi II é a distância euclidiana entre p¡ e pi. Uma heurística alternativa consiste em atribuir a cada unidade ni urna largura o diferente, conforme indicado pela Equação 9.4
4.1.2 Se o vetor não pertence ao grupo mais próximo Então trocar o seu grupo pelo grupo mais próximo Recalcular o centro do grupo que perdeu o vetor e do grupo que ganhou o vetor
0,.1=aIIíLj-µi
5. Até convergir. Para este algoritmo, o novo centro pj é a média de todos os vetores de entrada xi que pertencem ao grupo Si. ou seja, cada elemento /i» do vetor µ.i correspondente a um novo centro é definido pela Equação 9.2: [lJi =
1
TA.i
(9.2)
SJ A. C si
• •
ll
onde pj é o centro mais próximo de pi e a é uma constante, geralmente entre 1.0 e 1.5. Unia outra heurística utilizada atribui a cada a a distância média do centro µj aos N vetores de entrada mais próximos, isto é, os N vetores de vetores de entrada com menor distância euclidiana em relação ao centro P j. A Equação 9.5 ilustra esta heurística:
onde Xh.i e µji são os componentes dos vetores xÁ. e µj, respectivamente. 013 Existe unia versão incremental deste algoritmo que inicializa os centros da mesma forma que a versão anterior, mas atualiza os centros cada vez que um novo padrão de entrada é apresentado [I\ID89b]. Esta versão tem como vantagem não precisar armazenar os padrões de entrada. No algoritmo K-Means-Clustering não existe um método formal para determinar o número K de centros (número de unidades intermediárias). Normalmente este número é definido por tentativa e erro, utilizando o método cross-validation [Bis95]. Uma técnica de clustering que pode também ser utilizada para escolher os centros das funções é a rede SOM, discutida no capítulo de redes self-organizing [Koh89]. Outro parâmetro definido neste primeiro estágio é a largura das funções radiais. Várias heurísticas têm sido propostas para a escolha das larguras. oj. Uma delas define cada aj como sendo a média sobre todas as distâncias euclidianas entre o centro de cada unidade ni e o centro da unidade nj mais próxima [MD89b ]. A Equação 9.3 ilustra esta proposta: 200
C(1 Éllíj -xilI) t =r
onde µj é o centro da unidade nj, os vetores de entrada 11.12 , .... T,V• são os N vetores de entrada mais próximos em relação ao centro pj. N e C são constantes escolhidas experimentalmente. N e C são escolhidos de modo que as áreas de atuação da gaussiana, determinadas pelas larguras agi. cubram toda a região onde estão situados os vetores de entrada.
Segunda fase de treinamento A função da camada intermediária da rede RBF é transformar uri conjunto de exemplos não linearmente separável em um conjunto linearmente separável, o que simplifica o processamento realizado pela camada de saída. O problema de ajuste de pesos da camada de saída reduz-se a um problema linear. Diversos métodos têm sido desenvolvidos para ajustar os pesos desta camada. Uni deles utiliza a regra delta [\VH60], apresentada no Capítulo 2. Outro método utilizado é o método de Decomposição em Valores Singulares [Lay97]. A seção seguinte apresenta unia classe de redes que modificam sua topologia durante o treinamento e que são conhecidas como RNAs Construtivas.
201
1
9.2 Redes construtivas A arquitetura de uma RNA pode ter um impacto significativo no seu desempenho para uma dada aplicação. Várias técnicas têm sido desenvolvidas para a otimização dessa arquitetura. Estas técnicas podem ser agrupadas em duas abordagens. A primeira envolve o uso de um procedimento sistemático que permita a exploração um conjunto de possíveis arquiteturas. A segunda defende a necessidade de uma regra ou conjunto de regras que permita a escolha da melhor arquitetura para um problema específico. As Redes Neurais Artificiais Construtivas, RNACs, se encaixam na segunda abordagem. Essas redes otimizam sua topologia permitindo a inserção e a remoção de elementos durante o processo de treinamento. A otimização de arquiteturas neurais envolve, geralmente, a avaliação empírica de um grande número de arquiteturas. O principal inconveniente desta abordagem é a necessidade de treinar várias redes antes de encontrar a melhor arquitetura para o problema atacado. Existem vários métodos para tornar mais eficiente esta procura, os quais podem ser agrupados em três abordagens: • otimização genética: • técnicas de pruning: • redes construtivas.
Um destes critérios, "estrutura adicionada a rede durante o crescimento", apresenta pelo menos três variações. Algumas RNACs crescem sua arquitetura inserindo um nodo por vez, que é o caso das redes N TN (Neural Tree Networks) [San92] e CasCor (Cascade Correlation) [FL88]. As redes Upstart [Fre90] e Tiling [MN89] expandem suas arquiteturas inserindo mais de uma unidade por vez. Já as redes treinadas com os algoritmos Tower e Pyramid [Gal90a] criam uma camada de cada vez. A seguir serão descritos os algoritmos anteriormente mencionados, enfatizando suas características particulares.
9.2.1 Redes NTN As redes NTN são RNAs estruturadas em uma arquitetura de árvore [San92]. Uma rede NTN -aprende recursivamente a dividir o espaço de padrões em subregiões utilizando uma estrutura de árvore de ordem N, onde N é o número de classes (filhos) que cada nó interno da árvore pode diferenciar. Cada sub-região é associada a um rótulo que agrupa um determinado número de elementos. Assim, o espaço é dividido através de hiperplanos. Segundo o autor, a utilização de uma RNA em cada nó da árvore apresenta como resultado um melhor desempenho na classificação dos padrões.
9.2.2 Redes CasCor
As duas primeiras abordagens já foram discutidas em capítulos anteriores deste livro. A terceira abordagem advoga que a arquitetura de uma rede pode ser definida utilizando uma rede inicialmente pequena, na qual novas unidades são inseridas durante o treinamento. Algoritmos de aprendizado como este são chamados algoritmos construtivos (growing). A definição da arquitetura por um algoritmo construtivo pode incluir uma fase de pruning, onde, após o
A rede Casco de Correlation, treinada com o algoritmo do mesmo nome, foi proposta por Fahlman [FL88] com o objetivo de superar limitações da rede MLP treinada com o algoritmo back-propagation. O algoritmo Cascade Correlation. CasCor, atua sobre uma rede inicialmente mínima, apenas com as camadas de entrada e de saída.
crescimento da estrutura da rede, nodos ou conexões irrelevantes podem ser removidos. Existem vários modelos de redes construtivas, que podem ser classificadas segundo vários critérios:
Durante o treinamento, o algoritmo insere novas unidades intermediárias, uma de cada vez, criando uma estrutura de múltiplas camadas. Cada unidade inserida tem suas entradas conectadas aos nodos da camada de entrada e, caso exista. das camadas intermediárias. A saída do novo nodo é conectada aos nodos da camada de saída. Antes de conectar a saída da nova unidade aos nodos da camada de saída, os pesos da nova unidade são ajustados utilizando os padrões de treinamento. Este ajuste tem por objetivo maximizar a covariância entre a saída da nova unidade e o erro residual da rede. Cada inserção de um novo nodo avalia um número de unidades candidatas, onde é selecionada aquela de maior co-variância.
• conexões ajustadas: • limite para o crescimento da rede; • conectividade dos nodos; • estrutura adicionada durante o crescimento. 202
203
Após os pesos de entrada serem ajustados, eles são congelados, e a nova unidade é inserida na rede, onde uma nova etapa de treinamento é iniciada. Nesta etapa. apenas as suas conexões de saída são ajustadas. Ambos os treinamentos, antes e depois da inserção, envolvem apenas uma camada, podendo assim ser utilizada a regra delta [WH60]. Os autores do algoritmo Cascade Correlation utilizam o algoritmo Quickprop [Fah88] para o ajuste dos pesos. Cada novo nodo permite a deteção de novas características nos padrões de entrada. Neste processo, as redes criadas podem ter um grande número de camadas, com uni fan-in elevado para os nodos das últimas camadas intermediárias e da camada de saída. Para resolver este problema, têm sido propostas estratégias para limitar a profundidade da rede e o fan-in dos nodos intermediários e de saída [FL88]. Geralmente, o algoritmo CasCor aprende rápido. Entretanto, cada nova inserção torna o aprendizado da rede mais lento. Considerando que cada nova unidade é conectada à camada de entrada, às camadas intermediárias existentes e à camada de saída, a curva do tempo de processamento da rede em função do número de nodos tem um comportamento exponencial.
9.2.3 Redes Upstart Outra rede construtiva importante é a rede Upstart, desenvolvida por Marcus Frean [Fre90]. Nesta rede, as unidades de entrada são discretas. assumindo os valores {-1, +1 }. Em uma rede Upstart, cada nodo nj é treinado utilizando o algoritmo Pocket [Gal86] com controle de ciclos. O algoritmo Pocket foi utilizado porque a maioria dos algoritmos de treinamento supervisionados só modifica os pesos quando um padrão de entrada não é reconhecido corretamente. No caso de um reconhecimento bem-sucedido, os pesos não são modificados. Segundo o autor do algoritmo Pocket, deveria também ser considerado um reforço positivo na rede para este último caso [Ga186]. O algoritmo Pocket leva em consideração as classificações corretas para formar um conjunto de pesos à parte, que é chamado de Wpo,k,t. Este vetor é formado ao longo do processo de treinamento. O conjunto de pesos da rede é chamado de W.
2
04
Para corrigir o erro de cada unidade nj, o algoritmo Pocket cria dois novos nodos, chamados de n j e ni . A tarefa do nodo n é atuar como fator de correção positivo para a unidade nj cujo resultado foi -1. quando deveria ter sido +1, e o nodo nJ atua como fator de correção negativo, para a unidade nj cujo resultado foi +1, quando deveria ter sido igual a -1.
9.2.4 Redes Tiling I\Iezard e Nadal propuseram um algoritmo alternativo para o treinamento de uma rede multicamadas construtiva, chamado algoritmo Tiling [\IN89]. O algoritmo Tiling força cada nova camada a ter menos unidades que a camada anterior. Diferentemente da maioria dos algoritmos construtivos. em que o crescimento se dá no sentido vertical. com a adição de novas camadas. neste algoritmo o crescimento ocorre no sentido horizontal, com a adição novos nodos a camadas já existentes. As conexões são, exclusivamente. entre nodos de camadas adjacentes. Quando uma nova camada é criada, também é criado um nodo chamado Master Unit. ou unidade mestre, que é inserido e treinado utilizando um algoritmo semelhante ao algoritmo Pocket [Ga186]. O procedimento de construção da rede garante que este nodo reconhecerá mais padrões que o nodo Mestre da camada anterior. Além disso, novas unidades podem ser adicionadas a camadas já existentes e treinadas para melhorar a confiabilidade das respostas para o conjunto de treinamento. O algoritmo Tiling assegura que dois padrões distintos e pertencentes a classes diferentes não vão gerar saídas idênticas em nenhuma das camadas. o que é uma condição para a convergência. Por apresentar apenas um nodo na camada de saída, a utilização da rede Tiling está limitada a problemas com no máximo duas classes. Uma extensão da rede Tiling, a rede MTiling [PYH95], permite múltiplas classes através da utilização de mais de um nodo na camada de saída.
9.2.5 Redes Tower e Pyramid Gallant apresentou [Gal90a] um algoritmo construtivo chamado algoritmo Este algoritmo constrói uma torre de unidades lógicas do tipo Tower. limiar, TLU (Threshold Logic Units). A torre é construída adicionando-se novas camadas à rede. Os nodos adicionados são treinados utilizando os pesos das conexões existentes, até que a classificação desejada seja alcançada. Cada
1
205
um dos nodos adicionados vai representar uma nova saída e recebe como entrada cada um dos N componentes do padrão de entrada , além das entradas fornecidas pelos nodos da camada anterior. O algoritmo Pyramid [Gal90a] constrói uma rede de maneira similar ao algoritmo Tower, exceto que cada nova unidade adicionada é conectada à camada de entrada e a todas as camadas anteriores. Assim como na rede Tower, a nova camada constitui a nova camada de saída da rede. O algoritmo Pyramid é muito semelhante ao algoritmo utilizado pelas redes CasCor.
9.2.6 Redes SOFT' A rede dynamic SOFT, SOFT 1 [CFB92], é uma versão construtiva da rede SOFT [CFB97]. Assim como a rede SOFT original, a rede SOFT' utiliza nodos sem peso e agrupa os nodos em um reticulado multicamadas. Os nodos de cada camada são localmente conectados aos nodos das camadas anterior e posterior. Estas redes, ao contrário da maioria das redes construtivas, utilizam um algoritmo de aprendizado não-supervisionado, em que cada nodo procura separar os padrões de entrada em duas regiões de atratores. Assim como na rede Tiling [i\MMN89], o crescimento se dá no sentido horizontal. Nodos são acrescentados pela divisão de cada nodo sobrecarregado em dois novos nodos, com a divisão da tarefa, anteriormente realizada pelo nodo original, em duas subtarefas mais simples a serem desempenhadas pelos novos nodos. Os novos nodos compartilham as mesmas conexões do nodo original. Nodos também podem ser eliminados nesta arquitetura. A eliminação de um nodo ocorre quando o processamento realizado pelo nodo não é considerado relevante para o funcionamento da rede. Outras redes construtivas têm sido propostas, entre as quais podem ser citadas as redes da família ART (ART 3 [CG90], ARTMAP [CGR91a], FuzzyART [CGR91c] e Fuzzy-ARTl\1AP [CG1\1+911), Dynamic Vector Quantization [Ha197], Restrict Coulomb Energy [Gal90b], Growing Neural Gas Network [Fri95]. e RBF com Dynamic Decay Adjustment [BD94]. A seguir serão analisados modelos de RNAs especializados para o processamento temporal.
206
9.3 Processamento temporal Fenômenos temporais são fundamentais para ás atividades diárias dos seres humanos. Em conseqüência, o tempo é um parâmetro importante de várias tarefas de reconhecimento de padrões, tais como reconhecimento de voz, detecção de movimentos, verificação de assinaturas, visão, processamento de sinais, controle motor etc. A computação convencional ainda não lida satisfatoriamente com muitas destas tarefas de reconhecimento de padrões dinâmicos. São necessárias estruturas suficientemente ricas, capazes de representar o tempo.
Muitos algoritmos de treinamento das RNAs também não são capazes de implementar mapeamentos dinâmicos , como por exemplo o algoritmo backpropagation, que pode aprender apenas mapeamentos estáticos . Um artifício utilizado para processamento temporal utilizando estas redes envolve o uso de janelas de tempo, em que a entrada da rede utiliza trechos dos dados temporais como se eles formassem um padrão estático. Entretanto, esta solução não é a mais indicada para o processamento temporal. O ideal seria a utilização de uma rede cuja estrutura fosse adequada para este tipo de processamento. Como é possível estender a estrutura das redes MLP para que assumam um comportamento que varie com o tempo, sendo assim capazes de tratar sinais temporais? . O tempo pode ser representado pelo efeito que acarreta no processamento de sinais, que significa oferecer características dinâmicas ao mapeamento realizado pela rede, tornando-a sensível a sinais que variem com o tempo. Para uma RNA ser considerada dinâmica, é preciso que possua memória [E1m90]. Existem basicamente duas maneiras de prover memória a uma RNA: 1. Introduzir atraso no tempo, como as técnicas TDNN Time Delay Neural Network [LH88. Waie9, WHH+89] e FIR multilayer perceptron [Wan90b, Wan90a]. 2. Utilizar redes recorrentes, tais como back-propagation Through Time [Wer74, Wer90, WP89], Real-Time Recurrent Learning [WZ89], Cascate Correlation Recorrente [Fah91], redes de Elman [E1m90] e redes de Jordan [Jor86]. 207
9.3.1 Atraso no tempo Unia técnica bem conhecida que lida com variações temporais é a RNA com atraso no tempo , TDNN (Time Delay Neural Network). que consiste em unia rede feedforward cujas unidades intermediárias e de saída são duplicadas ao longo do tempo.
do algoritmo back-propagation temporal que permitem que os atrasos no tempo sejam adaptados de uma maneira contínua. do mesmo modo com que os pesos são adaptados. A rede FIR MLP é apropriada para as seguintes aplicações: • controle adaptativo operando em uni ambiente não-estacionário;
Inicialmente, esta técnica foi idealizada no sentido de introduzir, explicitamente. o conceito de simetria do tempo como encontrado no problema de reconhecimento de fonemas isolados utilizando um espectrograma. Um espectrograma é uma imagem bidimensional na qual a dimensão vertical corresponde à freqüência e a dimensão horizontal corresponde ao tempo. A intensidade da imagem corresponde à energia do sinal. Lang e Hinton [LH88] utilizaram com sucesso uma TDNN para o reconhecimento de quatro fonemas isolados: "bee", "dee", "ee" e "vee", com o uso de quatro nodos de saída. Outros experimentos com a TDNN sugerem que sua potencialidade reside na sua habilidade de desenvolver representações internas invariantes de voz e utilizá-las para obter classificações ótimas. A topologia da rede TDNN está embutida em uma rede MLP em que cada conexão é representada por um filtro de impulso de resposta com duração finita. FIR ( Finite Duration Impulse Response ) [Wan90b. Wan90a]. Este tipo de rede. conhecida como FIR MLP, é treinado através da criação de uma rede estática equivalente . Esta rede equivalente é obtida desdobrando a FIR MLP no tempo . Após isto, pode ser utilizado o algoritmo back-propagation padrão. Utilizando o modelo dinâmico de nodo, é possível construir a versão dinâmica correspondente da FIR MLP, cujos nodos apresentam características dinâmicas. Para treinar tal rede, utiliza-se um algoritmo de aprendizagem supervisionado em que a resposta real de cada nodo na camada de saída é comparada, a cada instante de tempo, com a resposta desejada. Esta RNA também é convenientemente treinada utilizando o algoritmo back-propagation temporal [WW an90b, Wan90a]. Uma vez treinada a rede, todos os pesos são fixados. A rede pode, então, ser utilizada para operar em um sinal de entrada em tempo real, propagando o sinal através da rede, camada por camada. O algoritmo back-propagation temporal possui duas características distintas: (i) opera em tempo discreto e (ii) apresenta atraso no tempo fixo. Day e Davenport [DMR93] e Lin et al. [LLD93] desenvolveram generalizações 208
• identificação de sistema dinâmico, com a entrada e a saída do sistema provendo o sinal de entrada e a resposta desejada para a rede FIR MLP: • eliminação de ruído; • equalização adaptativa de um canal de comunicação cujas freqüências variam no tempo; • modelagem de séries temporais não-estacionárias; • classificação temporal de sinais não-estacionários.
9.3.2
Back-propagation recorrente
Redes recorrentes são aquelas que possuem conexões de realimentação que proporcionam comportamento dinâmico. Há dois tipos de redes recorrentes: aquelas em que o padrão de entrada é fixo e a saída caminha, dinamicamente, para um estado estável [A1m87, Pin87], e aquelas em que tanto a entrada quanto a saída variam com o tempo; estas últimas são mais gerais e utilizadas com maior freqüência. Há muitas variações de arquiteturas de redes recorrentes: algumas delas permitem o uso de algoritmos de treinamento mais simples ou adaptados para uma tarefa particular. Duas maneiras que podem ser usadas para treinar uma rede recorrente, e que não envolvem o uso de aproximações na computação dos gradientes, são back-propagation through time e redes recorrentes de tempo real.
9.3.3
Back-propagation through time
O algoritmo back-propagation through time para o treinamento de redes recorrentes é uma extensão do algoritmo back-propagation padrão que efetua a operação temporal em uma rede hILP onde a topologia da rede é acrescida de unia camada a cada instante de tempo. Das diversas variações de arquiteturas recorrentes, conceitualmente. o método mais simples é o algoritmo back-propagation through time, em que a rede é
1
209
expandida no tempo . Ao final da seqüência de entrada , os valores esperados são apresentados , e o sinal gradiente é calculado retropropagando o sinal . do erro no tempo. Este método apresenta a desvantagem de que nenhum aprendizado é efetuado até que se alcance o fim da seqüência . Ainda assim , é uma técnica
• a rede contém nodos escondidos; • a rede possui dinâmica arbitrária.
muito utilizada. O algoritmo de treinamento para uma seqüência de pares de entrada-saída de tamanho N é definido a seguir:
Uma característica particular destas redes reside em sua habilidade para lidar tanto com as entradas quanto com as saídas variando no tempo, através de seu próprio funcionamento temporal.
1. Definir os estados iniciais x(O) e u(O) da primeira entrada. Propagar o sinal da entrada para a frente, definindo y(O) e x(1).
A capacidade das redes RTRN de proporcionar uma dinâmica arbitrária torna estas redes uma ferramenta útil em aplicações de tempo real, tais como:
2. Para todo t >atribuir x(t) do estado de saída anterior e u(t) da entrada corrente e propagar para a frente para encontrar y(t) e x(t + 1).
• Modelagem biológica: uma RNA recorrente com três camadas foi utilizada para explorar a organização do reflexo vestíbulo-ocular (VOR); o VOR estabiliza a imagem visual produzindo rotações dos olhos que são quase iguais e opostas às rotações da cabeça [Ana91].
3. Atribuir o erro no vetor de estado final para o valor zero de modo que o valor da função custo não seja dependente do último vetor de estados. Calcular o vetor de estados na última camada de saída e compará-lo com a saída desejada. Retropropagar para gerar um vetor erro para x(N - 1) da mesma forma como a retropropagação do erro nas unidades intermediárias da l'ILP. 4. Para todo instante t começando em N - 2, calcular o vetor erro no estado de saída para o erro gerado em t + 1 e setar o vetor erro na saída comparando com a saída esperada corrente. Retropropagar para gerar um vetor erro para x(t). ã. Computar o gradiente da função custo acumulada em toda a estrutura e atualizar os pesos. O algoritmo back-propagation through time pode ser facilmente adaptado para lidar com entradas contínuas [Wer90]. Se o tamanho do buffer, N, for maior que a duração dos efeitos do contexto , então boas aproximações podem ser obtidas tanto para ativações feedforward quanto para a retropropagação do sinal do erro , ignorando efeitos de contexto através da fronteira . Variando a localização da fronteira entre os buffers nos dados de treinamento , os efeitos da fronteira podem ser ainda mais reduzidos.
9.3.4 Redes recorrentes de tempo real Outros modelos recorrentes treinados para funcionar continuamente são as redes recorrentes de tempo real, RTRN (Real-Time Recurrent Networks) [WZ89]. Estes modelos diferem das redes de Hopfield, que também são redes recorrentes, em dois aspectos importantes: 210
• Aplicações de lingüística: por exemplo, inferência gramatical [Gi\IC+92]. • Predição não-linear para modulação pulse-code diferenciável adaptativa (ADPCM) de fala: os resultados apresentados em [HL93] demonstram que o ADPCM possui desempenho superior à versão convencional do sistema que utiliza predição linear.
9.3.5 Redes de Elman e de Jordan Elman introduziu memória às RNAs. Este modelo é uma aproximação do back-propagation through time, onde o sinal do erro é truncado em n = 1 [E1m90]. Nas redes de Elman ( Figura 9.4), além das unidades de entrada , intermediárias e de saída, há também unidades de contexto, como nas redes parcialmente recorrentes em geral. As unidades de entrada e saída interagem com o ambiente externo, enquanto as unidades intermediárias e de contexto não o fazem. As unidades de entrada são apenas unidades de armazenamento (buffer) que passam os sinais sem modificá - los. As unidades de saída são unidades lineares que somam os sinais que recebem . As unidades intermediárias podem ter funções de ativação lineares ou não-lineares , e as unidades de contexto são usadas apenas para memorizar as ativações anteriores das unidades interme diárias e podem ser consideradas como atraso no tempo em um passo. As conexões feedforward são modificáveis , e as conexões recorrentes são fixas. motivo pelo qual a rede de Elman é apenas parcialmente recorrente.
211
Camada Escondo
Carwda Escorrida
Cornada de Saída
Figura 9.4: Esquema geral de uma rede de Elmãn.
212
carnudo de Saída
Figura 9.5: Esquema geral de uma rede de Jordan.
'
213
Em um intervalo de tempo específico k, as ativações das unidades intermediárias (em k - 1) e as entradas correntes ( em k) são utilizadas como entradas da rede . Em um primeiro estágio , feedforward , estasentradas são propagadas para a frente para produzir as saídas . Posteriormente , a rede é treinada com o algoritmo de aprendizagem back-propagation padrão . Após este passo de treinamento , as ativações das unidades intermediárias no tempo k são reintroduzidas , através das ligações recorrentes nas unidades de contexto, sendo salvas nestas unidades para o próximo passo do treinamento ( k + 1). No início do treinamento, as ativações das unidades intermediárias são desconhecidas e, geralmente , são inicializadas para a metade do valor máximo que as unidades intermediárias podem ter.
começa com uma arquitetura mínima, composta apenas pelas camadas de entrada e saída . Durante o seu treinamento , novas unidades intermediárias são inseridas na rede, uma por vez.
Na rede de Jordan [Jor861 ( Figura 9.5), a saída da rede é copiada para unidade de contexto . Além disso , as unidades de contexto são localmente recorrentes . A grande diferença em termos de topologia entre as duas redes é que a recorrência na rede de Elman é feita da camada escondida para as entradas , enquanto na rede de Jordan a recorrência é feita das saídas para as entradas.
1. Qual a diferença entre crescimento vertical e crescimento horizontal em redes construtivas?
Foram também apresentadas várias modificações propostas tanto para as topologias quanto para os algoritmos de aprendizagem mais utilizados por RNAs temporais. Estas mudanças têm por objetivo permitir o uso de tais modelos em tarefas em que o tempo é um parâmetro importante.
9.5
Exercícios
2. Por que você acha que o treinamento na rede RBF é geralmente mais rápido que o treinamento da rede MLP com o algoritmo backpropagation? 3. Enumere cinco possíveis aplicações que envolvem processamento temporal.
9.4 Conclusão
4. Quais as principais diferenças entre as redes recorrentes e com atraso no tempo?
Este capítulo foi voltado ao estudo de temas de RNAs que, embora relevantes, não puderam, deVidó à limitação do escopo deste livro, ter um capítulo especialmente dedicado a cada um deles.
5. Quais são as abordagens existentes para a definição da arquitetura de uma rede? Quais as vantagens e desvantagens de cada uma delas?
O primeiro tema descreveu e analisou as RNAs RBF. Nesta seção foram descritos a estrutura das redes RBF e os algoritmos utilizados para treinálas. Foi também apresentada uma comparação entre redes RBF e redes \ILP. Uma rede RBF possui nas unidades da camada interna uma função radial (por exemplo, uma gaussiana ). enquanto a rede SILP possui a função sigmoidal. A função da camada interna é muito importante . Ela transforma padrões de entrada não linearmente separáveis em padrões intermediários linearmente separáveis. Na seção seguinte foram discutidas redes que alteram sua estrutura durante a fase de treinamento . Estas redes, conhecidas como redes construtivas, incluem nodos e conexões para auxiliar o seu processamento (em alguns modelos, nodos e conexões podem também ser eliminados ). Foram descritos alguns modelos de redes construtivas, entre eles as redes CasCor. Uma rede CasCor 214
215
Capítulo 10
Aplicações 10.1 Introdução Pelo fato de as RNAs serem aptas a resolver problemas de cunho geral, tais como aproximação, classificação. categorização. predição etc., a gania de áreas onde estas podem ser aplicadas é bastante extensa. Portanto. este capítulo não poderia- ter a pretensão de explorar completamente o imenso universo disponível para a utilização de RNAs. Procurou-se, então, discutir a solução de problemas básicos dentro de áreas mais populares como modelamento, cont role e otimização. A extrapolação de alguns destes exemplos para outras áreas do conhecimento não-discutidas neste capítulo pode ser facilmente obtida, já que alguns deles foram tratados de forma mais genérica. Do ponto de vista de modelamento de sistemas, tarefa essencial para o controle de processos, as técnicas para utilização de RNAs são discutidas e comparadas com técnicas clássicas. Será discutido em quais situações a abordagem por RNAs pode ser mais atrativa do que as técnicas tradicionais. Estas situações incluem o modelamento de sistemas mais complexos envolvendo um grande número de variáveis, em que a identificação dos parâmetros físicos do sistema se torna uma tarefa árdua, tornando-se inviável o modelamento por técnicas convencionais. Para problemas de controle, são apresentadas topologias em que RNAs são utilizadas em paralelo com controladores clássicos visando a uma melhoria do desempenho global do sistema. De uma maneira geral, esta é a abordagem mais usual para o controle de sistemas com RNAs, já que, salvo pela utilização de técnicas como aprendizado por reforço [SBW91, \i'D92]. os controladores neurais dependem sempre de um professor com o qual possam aprender as ações de controle. Portanto, salvo em sistemas em que o aprendiza217
do por reforço é viável, as RNAs são mais comumente utilizadas em conjunto com os controladores tradicionais. Problemas de otimização e predição são tratados de maneira bastante geral com exemplos clássicos como o problema do caixeiro-viajante [HT85] e um exemplo de predição de volume de vendas de um produto hipotético. Para o caso de predição foi dado um destaque especial, dedicando-se a ele uma seção especial, apesar de este problema já ter sido tratado anteriormente sob o enfoque de modelamento. Na verdade, o modelamento de sistemas dinâmicos não deixa de ser um problema de predição. As aplicações de RNAs a problemas de processamento de sinais e imagens são também discutidas, dando ênfase a aplicações mais recentes, como processamento de voz e visão computacional. Finalmente, a utilização de Redes Neurais em problemas de classificação também é brevemente discutida, com ênfase em aplicações na área de finanças. Problemas de classificação caracterizam-se pela associação de um dado padrão de entrada a uma entre várias classes. Finalmente, as aplicações de RNAs a problemas de processamento de sinais e imagens são discutidas, dando ênfase a aplicações mais recentes, como processamento de voz e visão computacional.
10.2 Modelamento e controle neural Devido às características não-lineares inerentes ao mapeamento entre camadas de RN As feedforward. estas se caracterizam como ferramentas de modelamento bastante apropriadas para o modelamento e controle de sistemas. Ferramentas matemáticas disponíveis para o controle de sistemas não-lineares normalmente utilizam técnicas de linearização, transformando a tarefa de controle não-linear em pequenas tarefas de controle linear [DB95]. Apesar de muitas vezes eficiente. esta abordagem- não retrata a realidade dos sistemas físicos. podendo resultar em soluções subótimas. Devido à sua capacidade de modelar com fidelidade ações não-lineares. as RNAs são uma importante ferramenta para o controle de sistemas. Em adição a estas características. algoritmos para treinamento on-line de RNAs são conhecidos na literatura [PM1B98]. o que as habilita ao controle de sistemas cujas características variam com o tempo. No que se refere ao modelamento e à identificação de sistemas. os métodos clássicos [BC921, embora eficientes. envolvem ajustes de parâmetros usando técnicas de mínimos quadrados e regressão. cuja complexidade aumenta bastante com o aumento do número de variáveis de entrada. Em contrapartida, as RNAs têm o seu custo computacional de implementação e ajuste de parâmetros 218
crescendo apenas de maneira linear com o número de variáveis de entrada. A adição de uma nova entrada a uma RNA feedforward aumenta em' apenas k o número total de parâmetros a serem ajustados, onde k é o número de nodos da primeira camada escondida. Estas são algumas das características das RNAs que as tornam atrativas para o controle e a identificação de sistemas, como veremos nas seções seguintes.
10.2.1 Modelamento e identificação de sistemas Sistemas físicos, objetos de modelamento, possuem normalmente características dinâmicas, ou seja, o valor de suas saídas no instante seguinte depende nã-) somente das entradas atuais, mas também das entradas e estados passados. De uma maneira geral, o comportamento de um sistema dinâmico discreto no tempo pode ser descrito através da Equação 10.1: y(t + 1) = ID (x(t), x(t - 1), . • ., x(t - n), y(t), y(t - 1), ..., y(t - n))
(10.1)
onde x(t) e y(t) representam os vetores de entrada e saída, respectivamente, no instante de tempo arbitrário t, e 4)(• ), a função que mapeia os vetores de entrada e saída, podendo esta ser linear ou não-linear. O problema-chave no modelamento de sistemas dinâmicos consiste então em encontrar uma aproximação para a função ^D(• ). Esta aproximação pode ser obtida pelo mapeamento estático entre valores passados e atuais das entradas e saídas do sistema. Neste caso, o problema de RNAs se resumiria a encontrar os parâmetros (pesos e termos de polarização) para a rede que resultassem em uma boa aproximação para y(t + 1). Neste tipo de modelamento, a RNA se comportaria como um modelo não-paramétrico, já que os seus parâmetros não teriam significado físico. Em contraste com o modelamento por RNAs, modelos paramétricos [BC92] envolvem ajustes de parâmetros que possuem alguma relação com as características físicas do sistema. Estes modelos podem traduzir melhor a realidade do sistema, porém requerem um entendimento mais profundo das características físicas do mesmo. Em contrapartida, o modelamento não-paramétrico por RNAs não requer um entendimento profundo das características físicas do sistema. Para que a planta seja modelada, basta que a RNA seja alimentada durante o treinamento com um conjunto de dados que traduzam de maneira fiel o comportamento do sistema. Apesar da simplicidade da abordagem de RNAs para o modelamento, esta é muitas vezes uma característica criticada na literatura [BC92], já que as características físicas do sistema podem ser mascaradas [BC92]. Por exemplo, se 219
o sistema for linear e este estiver sendo modelado por uni perceptron multicamadas. a sua simplicidade não será revelada pelo mapeamento por este sistema neural. que é tipicamente não-linear. No entanto. é preciso ter em mente que o modelamento por RNAs não visa ao levantamento dos parâmetros físicos do sistema. mas sim a prover uni modelo que descreva o seu comportamento. Esta abordagem se torna extremamente útil no modelamento de sistemas mais complexos, em que o levantamento das características físicas do sistema para a identificação por técnicas clássicas se torna uma tarefa de grande complexidade. Um exemplo da aplicação de RNAs com sucesso a problemas de alta complexidade é o trabalho desenvolvido por Alarzano [Mar98]. em que o processo de combustão de unia caldeira de uma usina siderúrgica foi modelado através de RNAs. Dados de entrada e saída de vazão de combustível, vazão de ar, temperatura e pressão foram amostrados durante quatro meses e apresentados para uma rede do tipo perceptron de múltiplas camadas. A rede foi capaz de prever com precisão o teor de oxigênio na saída da caldeira. Para se ter idéia da complexidade deste problema. foram consideradas 11 variáveis de entrada e duas de saída, sendo o sistema não-linear e de grande complexidade. Este é um exemplo do tipo de problema em que o modelamento do tipo caixa-preta por RNAs se torna bastante atrativo, se apresentando muitas vezes como única alternativa viável de modelamento. O modelamento por RNAs é mais comumente realizado por mapeamentos estáticos entre valores de entrada e saída deslocados ao longo do tempo usando uma topologia de RNA com atraso de tempo ( Time Delay Neural Network TDNN) [LH88] , como mostrado na Figura 10.1. É importante observar que se trata aqui de uma topologia do tipo feedforward (estática) com recorrência implementada através do treinamento , deslocando-se os dados de entrada e saída através de janelas de tempo de tamanho prefixado . O modelamento pode ser feito também com redes recorrentes , como as redes - de Elman [Elm90] e Jordan [Jor86 ]. Neste caso, as características temporais do modelo neural obtido serão dependentes não somente do conjunto de dados , mas também da seqüência de treinamento , já que a recorrência existe fisicamente na topologia da rede. Uma discussão mais detalhada sobre modelamento de sistemas utilizando RNAs pode ser encontrada em [NP92]. Um exemplo de modelamento de um sistema dinâmico não-linear nãoestacionário é apresentado a seguir [CBB+97]. O sistema modelado consiste em um processo anaeróbio de tratamento de esgotos que é parte integrante de -
220
unia planta-piloto [Bra97]. O objetivo do modelamento é prever a turbidez1 de saída da planta em função da turbidez de entrada, vazão afluente e estados anteriores do sistema. A RNA utilizada no modelamento possui 7 entradas e unia única saída; estas 7 entradas referem-se à vazão afluente, à turbidez de entrada. à temperatura ambiente, sendo todas elas nos instantes de tempo atual e anterior, além da saída no instante de tempo anterior. O esquema utilizado foi então a topologia de uma TDNN, conforme descrição geral apresentada na Figura 10.1. A Figura 10.2 apresenta os resultados da predição para o estado seguinte do sistema. Como pode ser observado, a RNA capturou o comportamento do sistema, obtendo boa resposta para o passo seguinte. situação para a qual foi treinada. A Figura 10.3, por sua vez, apresenta o resultado da predição 10 passos à frente, ou seja. os valores estimados pela rede são realimentados para as entradas durante 10 passos de predição. A cada 10 passos. os valores reais são apresentados às entradas da rede, e o processo de predição se repete. Como era de se esperar, o resultado para este caso é inferior àquele apresentado para uni passo à frente, já que ocorreu aqui um aumento do horizonte de predição. onde. obviamente, há acúmulo de erro a cada iteração. É normalmente satisfatória em modelamento de sistemas dinâmicos utilizando técnicas clássicas ou neurais a predição de apenas alguns passos à frente, tempo suficiente para tomadas de decisão. Assim, os resultados para a predição de 10 passos à frente. embora não tão precisos quanto aqueles para predição de apenas um passo. são suficientes para prever o comportamento futuro do sistema. Nota-se que a rede foi capaz de aprender o comportamento temporal do sistema.
10.2.2 Controladores neurais A tarefa básica em controle de processos consiste em projetar controladores que atuem no sistema de forma que o mesmo responda satisfatoriamente a valores de referência fornecidos ao controlador. Este, por sua vez, deve atuar na planta, considerando suas características dinâmicas, de forma que a mesma responda com estabilidade às ações dos atuadores. Controladores clássicos [DB95], cujas técnicas de projeto são bastante conhecidas, trabalham visando à minimização do erro entre a entrada desejada e a resposta da planta ao sinal de controle. A Figura 10.4 mostra o esquema geral de um controlador com realimentação, em que o sinal de erro gerado após comparação entre o valor 'Utilizada aqui como medição indireta de parâmetros químicos que definem as características do tratamento [CBB` 97].
1
221
•
x(t-n)
RNA
y(t) y(t-1) y(t-n)
Figura 10.3: Predição para 10 passos à frente.
Figura 10.1: Esquema geral para identificação utilizando RNAs com atraso de desejado e o obtido na saída da planta é utilizado como entrada do controlador.
tempo.
Controladores neurais [NP92] partem normalmente de um processo prévio de identificação da inversa da planta para então prover os sinais de controle para os atuadores . A capacidade de adaptação e aprendizado on-line das RNAs é muitas vezes utilizada para corrigir ações de controle de controladores clássicos pré-sintonizados atuando em sistemas com parâmetros variáveis. Eventuais mudanças no ponto de operação do sistema são corrigidas pela atuação das RNAs. Uni exemplo clássico deste problema é o controle de manipuladores robóticos ÍSS96 . Para estes sistemas , parâmetros como atrito nas junções,
CoMda
v
Redimes o# Figura 10.2: Predição para um passo à frente. Figura 10.4: Esquema geral de controle com realimentação.
223 222
inércia do braço ou mesmo a massa do objeto a ser manipulado podem variar. Corno os controladores clássicos são pré-sintonizados, muitas vezes as respostas a estas variações não são satisfatórias.
Unia solução bens-sucedida para o controle de manipuladores utilizando RNAs em conjunto com controladores clássicos foi apresentada por Teixeira [Tei98]. No modelo desenvolvido. o objetivo era controlar o posicionamento de um manipulador do tipo PUMA 560 [SS96'. com até 6 articulações, a partir de unia posição inicial arbitrária no espaço tridimensional com o objetivo de atingir uni ponto final também arbitrário. E óbvio que é possível estabelecer uma trajetória ótima possível para o manipulados, resumindo-se a tarefa de controle a simplesmente fazer com que o manipulador siga tal trajetória. No entanto, a complexidade do problema surge quando os parâmetros do manipulador são modificados subitamente durante o percurso. Neste caso, o controlador deve tomar ações para, apesar da mudança repentina nos parâmetros, manter o manipulador dentro da trajetória ótima. No caso de utilização de controladores clássicos, se a mudança nas características do braço for muito grande, pode ocorrer de este precisar atuar fora da faixa para a qual foi previamente sintonizado, levando- a resultados não-satisfatórios. A solução apresentada por Teixeira [Tei98] para minimizar os efeitos da mudança nos parâmetros nas ações de controle descreve uma topologia de controle com uma RNA atuando em conjunto com um controlador clássico do tipo PID [DB95] e um algoritmo para adaptação on-line da rede. Quando há mudança nos parâmetros do manipulador e o controlador PID não consegue corrigir a trajetória, o aumento do erro de saída faz com que a RNA se adapte durante a operação, corrigindo assim a ação do controlador PID. Os resultados com esta topologia foram bastante superiores àqueles em que somente o controlador clássico foi utilizado [Tei98].
O modelo hierárquico apresentado por Kawato [KUI87] é também um bom exemplo da eficiência da utilização de RNAs em paralelo com controladores clássicos (ver Figura 10.5). Nesta topologia, duas RNAs são adicionadas à topologia de controle clássico com realimentação apresentada anteriormente na Figura 10.4. Neste esquema, a RNA 1 identifica a dinâmica direta da planta, enquanto a RNA II identifica a sua dinâmica inversa. Após o aprendizado, a RNA 1 adianta a resposta da planta gerando o sinal y*, o que permite gerar o sinal de erro e* = d - y*. De maneira similar, a RNA II também adianta a resposta do controlador gerando o sinal u*. Desta forma, uma vez treinadas as RNAs I e II, estas tomam o controle do sistema, e o controlador conven-
224
RNA II
d + e11
Controlador
U
Planta Y-^
Y*
Figura 10.5: Esquema geral de um controlador hierárquico . A RNA I identifica a dinâmica direta da planta , enquanto a RNA II identifica a sua inversa. A ação das RNAs adianta respostas da planta e do controlador, resultando em uni sistema de controle mais eficiente.
cional poderá atuar toda vez que as ações das RNAs não forem suficientes para diminuir o erro e = d - y. O desempenho geral do sistema de controle é mais eficiente, já que os atrasos inerentes ao controlador convencional são evitados.
10.2.3 Treinamento on-line em identificação e controle Procedimentos para treinamento on-line utilizando o algoritmo back-propagation são conhecidos na literatura [Tei98, Fu96, CK95]. Para superar algumas das deficiências deste algoritmo, como pouca robustez perante mudanças muito grandes no sistema, outros algoritmos apropriados para treinamento on-line são encontrados na literatura, como o CMAC (Cerebelar Model Articulation Controller) [A1b75] e algoritmos baseados no controle por modos deslizantes [Utk78, SJR96, JRRC97, PAIB98]. O algoritmo CNIAC é muito adequado para controle on-line, já que toda a informação sobre as ações de controle é armazenada em uma tabela. Esta, por sua vez, permite um treinamento seus interferência entre etapas de treinamento subseqüentes, já que a adição de uns novo dado requer apenas a alocação de uma nova entrada na tabela. Caso haja conflito no armazenamento da informação, este será causado por características inerentes ao problema e não à forma de treinamento adotada. Os controladores CMAC, por sua vez, trabalham com generalização implícita, ou 1
225
seja , esta depende da maneira como a informação é distribuída na tabela após o armazenamento . Técnicas para melhorar a capacidade de generalização dos porém, estas decontroladores CMAC são conhecidas na literatura . [ BH95c], pendem também de uma exploração adequada do espaço de estados. As RNAs com treinamento por modos deslizantes [Utk78, SJR96 , JRRC97, PMB98], por sua vez, possuem características de robustez similares aos controladores que utilizam técnicas de sistemas de estruturas variáveis [Utk78]. O trabalho apresentado por Parma , Menezes e Braga [PMB98] descreve um conjunto de equações para treinamento on-line de redes Perceptron multicamadas aplicadas a problemas de controle . O algoritmo apresentado supõe a existência de uni sinal variável no tempo , o qual a rede deve acompanhar . A adaptação on-line ocorre no sentido de diminuir o erro entre a saída da rede e este sinal variável . Um exemplo da capacidade de adaptação da rede treinada com este algoritmo é mostrado na Figura 10.6, onde se pode ver que, após algum tempo, a saída da rede tende a acompanhar o sinal de saída f (t). Inicialmente, o erro de saída da rede é alto , mas com o tempo ela se adapta e acompanha a saída
10.3 Predição Predição de séries temporais envolve a construção de modelos a partir de observações em um dado período. As técnicas clássicas para predição, tais como ARMA e ARIMA [Bro63], são bem-estabelecidas. Porém, de maneira análoga aos problemas de controle e identificação, a construção destes modelos pode depender de um entendimento mais profundo do problema, além de poder ter alta complexidade, dependendo do número de variáveis consideradas. Novamente, se torna atraente a alternativa de modelamento por RNAs, já que estas se caracterizam por um modelamento não-paramétrico. em qu^ não há grande necessidade de se entender o processo propriamente dito. O modelamento pode ser feito utilizando-se somente amostragens de valores de entrada e saída do sistema em intervalos de tempo regulares. Outro fator favorável às RNAs está relacionado com o fato de não haver para estas grande limitação no número de variáveis de entrada. Para o caso específico de predição, este é um fator importante, pois está relacionado com o número de atrasos de tempo que podem ser considerados na predição.
desejada. Saída desejada (j(0) 1.0
0.8
-0.2 -0.4
M
Resposta da rede 0.1 0.2 0 .3 0.4 0.5 0.6 0 . 7 0.8 0.9 1.0 Tempo (t)
Figura 10.6: Exemplo de aprendizado on-line utilizando algoritmo de treinamento baseado na teoria dos modos deslizantes descrito por Parma, Menezes e Braga.
226
Um exemplo de aplicação de RNAs a problemas de predição é apresentado na Figura 10.7, onde se deseja prever para a semana seguinte o volume de vendas de um determinado produto, com base eni observações das vendas nas semanas anteriores. Para modelar o sistema, foi utilizada uma RNA multicamadas com topologia 5-7-1. ou seja, com 5 entradas. 7 nodos na camada escondida e uma única saída. O treinamento foi feito utilizando atraso de tempo [LH88], ou seja, os dados foram deslocados eni uma janela de tempo durante o treinamento. Para este exemplo, uma janela de 5 semanas foi utilizada, ou seja, as cinco entradas representam sempre as 5 semanas anteriores. sendo que a saída representa a próxima semana na seqüência. Como os dados disponíveis referiam-se até a vigésima primeira semana. a rede foi treinada até a décima quinta semana, e os dados da décima sexta até a vigésima primeira semanas foram utilizados para testar o modelo obtido. Como pode ser visto. os resultados de predição da rede utilizando os dados das 5 semanas anteriores são bastante próximos dos reais. Obviamente, quanto maior a seqüência na predição, maior deverá ser o erro ao final da série, já que o erro de predição vai se acumulando ao longo das semanas. Deve-se considerar, no entanto, que a RNA foi treinada para prever apenas a semana seguinte e que a predição para mais de uma semana é uma extrapolação da informação fornecida a ela. Para o exemplo apresentado na Figura 10.7. os resultados desta extrapolação foram bastante razoáveis. 227
Treinamento
Predição
Figura 10.7: Predição de volume de vendas durante cinco semanas utilizando RNA com atraso de tempo.
10.4 Otimização
A solução de outros problemas de otimização utilizando-se redes de Hopfield requer que estes problemas sejam descritos de forma apropriada para que a rede possa tratar deles. A solução anais conhecida de problemas de otimização com redes de Hopfield é certamente a do Problema do caixeiro-viajante [HT85], descrita pelo próprio Hopfield em 1985 [HT85]. Dado um conjunto arbitrário de cidades cujas distâncias entre cada unia sejam conhecidas, a solução deste problema requer que se encontre a trajetória mais curta possível passando por todas as cidades e visitando cada unia delas somente unia vez. Este problema é normalmente utilizado como benchmarking para soluções de problemas de otimização. já que se trata de uni problema NP-completo bastante conhecido. Esta solução requer uni conjunto de n2 nodos, e a ativação de cada uni deles representa o instante de tempo em que a cidade correspondente foi visitada. Para facilitar a formulação do problema, a estrutura da rede é apresentada na forma de uma matriz n x n. onde a linha i da matriz representa todos os possíveis instantes de tempo em que a cidade i pode ser visitada. Como cada cidade deve ser visitada apenas uma vez, a solução final deve ter somente uni elemento ativo em cada linha. indicando o instante de tempo em que cada cidade foi visitada. A Figura 10.8 mostra uma possível solução para uni problenia com 8 cidades. O estado final da rede representa a solução encontrada.
Conforme mostrado anteriormente , a forma de armazenamento da informação Tempo
e atualização das saídas das redes de Hopfield [Hop82] permite se associar unia função de energia decrescente no tempo aos estados da rede durante unia trajetória qualquer no espaço de estados. Hopfield mostrou inicialmente [Hop82 ] que, para o problema de memória associativa , a função de energia E -2 wijxi xj I \ i j J
varia de forma monotonicamente decrescente e que
a rede se estabiliza em um mínimo de energia definido pelos vetores armazenados, chamados também de atratores2 . Pode-se visualizar , por este ponto de vista , o problema de memória associativa como uni problema de otimização em que se deseja minimizar uma função de custo associada à semelhança entre o estado atual da rede e os atratores definidos pelo conjunto de treinamento. A solução deste problema de otimização está, então, resolvida de maneira implícita pela própria estrutura da rede treinada pela regra de Hebb [Heb49'. conforme mostrado anteriormente . A forma de treinamento define, portanto. o problema de otimização a ser resolvido.
o U 0 \ 0 O o O ^T O O O O Figura 10.8: Solução possível para uma trajetória de 8 cidades para o problema do caixeiro-viajante. A resposta fornecida pela rede foi a seqüência de cidades 4-2-5-8-1-6-3-7.
2 Na verdade , a rede pode se estabilizar também em atratores espúrios indesejáveis, que podem se formar próximo aos atratores definidos no treinamento.
-
228
1
229
Para se obter uma solução através de uma rede de Hopfield, o primeiro passo é definir uma função de custo e escrevê-la de forma apropriada para que a rede possa tratá-la. A função de custo descrita por Hopfield para a solução do problema do caixeiro-viajante é apresentada na Equação 10.2 [HT85]. Observe que as saídas dos nodos são binárias unipolares, ou seja, podem assumir somente os valores 0 ou 1. Inicialmente, a rede começa com todos os nodos ativos, e, à medida que a rede vai evoluindo, ficam ativos somente aqueles nodos que fazem parte da solução.
J = 1
F- r-dijSi,,( Si(v +1 ) + Si(v_1))+ Ei i#j v
2 2 I ^
(1
[ ^` - L
(10.2)
Sdi,)2 1I
S¿L.)2 + i
v
1
onde dij representa a distância entre as cidades i e j e Si,. representa o estado do nodo ir conforme representação da Figura 10.8. A situação Si,. = 1 ocorre somente quando a cidade i é visitada no instante t•. Conforme apresentado na Figura 10.8, soluções possíveis possuem somente um elemento ativo em cada linha e coluna. Isto ocorre porque as condições do problema são de que, obviamente, somente uma cidade pode ser visitada de cada vez e cada cidade é visitada uma única vez. Estas restrições são atendidas pelos dois últimos termos da Equação 10.2. O primeiro termo, por sua vez. penaliza soluções longas. Para, finalmente, obtermos a estrutura da rede correspondente, considera-se, segundo Hopfield e Tank [HT85]. conexões proporcionais a -À entre nodos nas mesmas colunas e linhas e proporcionais a -dij entre nodos de colunas vizinhas (que não estejam na mesma linha). Para entender a razão para a escolha destes valores para as conexões, basta lembrar que À na Equação 10.2 penaliza soluções não-permitidas, como uma cidade ser visitada mais de uma vez e duas cidades serem visitadas ao mesmo tempo. Portanto. quando houver nodos na mesma linha ou coluna de um nodo cuja saída esteja sendo atualizada, estes contribuirão negativamente para que este rodo tenha a sua saída ativa. Da mesma forma atuam as conexões entre colunas proporcionais a -dij, já que estas penalizam visitas subseqüentes entre cidades com distâncias grandes. Uma rede de Hopfield com pesos proporcionais a -dij e -A conforme mostrado é capaz de evoluir no espaço de estados minimizando a função de custo apresentada na Equação 10.2 com soluções para o problema do caixeiro-viajante [HT85], como a da Figura 10.8. 230
10.5 Processamento de imagens e sinais As potencialidades das RNAs na resolução de problemas de classificação, predição, modelamento, categorização etc. foram bem exploradas nas seções anteriores. Estes são problemas gerais que aparecem em várias áreas do conhecimento. Em processamento de sinais e imagens, as RNAs ganharam grande popularidade nos últimos anos como ferramenta alternativa e às vezes complementar às técnicas clássicas. Nestas áreas, as aplicações das RNAs envolvem reconhecimento de caracteres escritos a mão [LBD+89], compactação de dados [BH89], codificação [CS97], reconhecimento da fala [And91], análise de componentes independentes [OV97], entre outras. Uma das aplicações mais conhecidas das RNAs em processamento da fala é certamente o trabalho de Kohonen para o reconhecimento de fonemas em finlandês utilizando mapas auto-organizativos com treinamento competitivo [Koh88]. Este sistema classifica com sucesso 21 fonemas. Os mapas autoorganizativos de Kohonen [Koh82] são uma forma de quantização de vetores [Koh86], que, por sua vez, é uma das técnicas clássicas para reconhecimento da fala. O princípio básico de quantização de vetores é buscar exemplos representativos de classes a partir de um conjunto de vetores. Conforme mostrado nos capítulos anteriores, isto é exatamente o que os mapas de Kohonen fazem, porém de maneira adaptativa; este processo de adaptação também é conhecido na literatura como learning vector quantization [Koh86]. O processo de reconhecimento é então dividido em duas etapas: a primeira delas envolve a categorização dos fonemas, e a segunda, a classificação propriamente dita. Na etapa de classificação, cada fonema ativa uma região do mapa, e uma seqüência de fonemas correspondente a um sinal de voz ativa regiões distintas em seqüência. descrevendo então uma trajetória no mapa. Esta trajetória é responsável pelo processo de reconhecimento. Também em problemas de reconhecimento da fala, RNAs têm sido utilizadas em conjunto com a técnica clássica de reconhecimento por modelos de Markov (HMMs - Hidden Markov Models) [BF96]. Basicamente. duas abordagens são encontradas na literatura em que RNAs e HMAIs são utilizadas em conjunto. Uma delas encara RNAs como parte de um modelo HMM [Lev91]. e a outra utiliza RNAs como um modelo de predição que substitui o modelo de Markov [Mam93]. No trabalho apresentado por Levin [Lev91]. uma RNA multicamadas é utilizada como modelo de predição para unia seqüência de observações de uma distribuição gaussiana de múltiplas variáveis. Neste caso, a RNA é utilizada em conjunto com o modelo de Markov. Outras abordagens são 231
encontradas na literatura, e uma discussão mais ampla deste problema pode ser encontrada na coletânea de artigos apresentada por 1\Iammone [l\Iam93]. Os problemas de visão computacional e reconhecimento de imagens possuem características que os distinguem bastante dos problemas de reconhecimento da fala. A principal delas é certamente a quantidade de informação manipulada. No caso de reconhecimento de imagens. os problemas requerem o tratamento de imagens de alta definição com uma grande quantidade de informação adicional como coloração e posicionamento no espaço tridimensional. O tratamento destes problemas com RNAs freqüentemente requer a utilização de técnicas convencionais de processamento de imagens para pré-processar os dados e então apresentá-los de uma maneira tratável para a rede. A visão computacional que utiliza RNAs encontra aplicações nas mais diversas áreas: o reconhecimento de faces para sistemas de identificação criminal e o controle de qualidade em linhas de produçãosão dois exemplos. As dificuldades no reconhecimento de faces surgem devido à grande variabilidade possível em imagens faciais (e em imagens tridimensionais de uma maneira geral). como ângulo de visão, iluminação da imagem e a adição de distorções como óculos. chapéus e barba. Estas variações colocam em risco a robustez das técnicas para reconhecimento de imagens faciais. Estas dificuldades surgiram já nos primeiros trabalhos na área, que envolviam o reconhecimento através de detecção de características geométricas das imagens. Esta abordagem visa à extração de características relevantes das imagens tais como forma da boca, nariz e olhos. Porém, esta se mostrou sensível a grandes distorções nas imagens. Abordagens em que a imagem completa é analisada têm sido também bastante utilizadas com RNAs, porém retorna-se ao problema de dimensionalidade. Um trabalho conhecido na literatura, como o de Cottrel e Fleming [G\190], por exemplo, utiliza imagens de 64 por 64 pixels, o que resulta em RNAs com 4096 entradas. O número de entradas da RNA para esta abordagem cresce de forma quadrática com as dimensões das imagens de entrada. Isto se torna um problema crítico em resoluções mais altas, o que restringe a utilização de RNAs para situações em que há um pré-processamento com subseqüente redução de dimensão da informação de entrada. Este é o caso, por exemplo, de abordagens como a de projeção em gray scale [Wi195] e a análise dos componentes principais [BH89].
10.6 Classificação Diversas das aplicações de RNAs dizem respeito à classificação de padrões. Nestas aplicações, a rede aprende a classificar um padrão desconhecido entre -
232
várias classes ou categorias. Assim, ao deparar com um padrão desconhecido, a rede deve classificá-lo em unia das classes existentes. Para que o desempenho do classificador para novos padrões (padrões diferentes daqueles utilizados no treinamento) possa ser avaliado, o classificador passa por uma fase de teste ou uso. Durante esta fase, deve ser observado o número de acertos realizados pelo classificador para uni conjunto de padrões cujas classes sejam conhecidas. Nenhum dos padrões deste conjunto pode ter sido utilizado no treinamento do classificador. Para avaliar o desempenho de uma RNA na classificação de padrões. devem ser apresentadas as porcentagens de padrões corretamente classificados, incorretamente classificados e rejeitados. A proporção de padrões corretamente classificados do conjunto total de padrões de teste é dado o nome taxa de acerto. A classificação correta ocorre quando o classificador associa uni padrão "desconhecido" à sua verdadeira classe. Quando o classificador atribui o padrão "desconhecido " à classe errada. a classificação é dita incorreta. A proporção de padrões incorretamente classificados dá origem à taxa de erro. Caso o padrão seja semelhante aos padrões de mais de uma classe ou não seja suficientemente semelhante aos padrões de nenhuma das classes, o padrão desconhecido é rejeitado. Para isto devem ser definidos: • uma diferença mínima entre a classe mais semelhante e a segunda classe mais semelhante ao padrão apresentado: dif : • um valor de similaridade mínimo entre o padrão apresentado e os padrões de uma classe para que o padrão apresentado seja associado a esta: sim. Chama-se de taxa de rejeição a proporção de padrões rejeitados. Os valores de sim e dif são definidos de acordo com a aplicação. Para um conjunto de aplicações, como, por exemplo, diagnóstico médico, controle de usinas nucleares e navegação de foguetes, o custo de uma classificação incorreta pode ser muito elevado, sendo melhor rejeitar os padrões que o classificador não esteja muito certo da categoria à qual pertencem. Para estas aplicações, o(s) valor(es) de sim e/ou dif é(são) elevado(s). Em outras aplicações, como por exemplo reconhecimento de faces, análise de crédito, classificação de solos e reconhecimento de assinaturas, é interessante que não ocorra um número elevado de rejeições. Para estes problemas, o(s) valor(es) de sim e/ou dif é(são) baixo(s).
1
233
Quando são utilizadas RNAs em problemas de classificação, durante o seu treinamento devem ser apresentados conjuntos de padrões representativos para cada uma das várias . classes consideradas . Além disso , o número de padrões de treinamento para cada uma das classes deve ser idealmente o mesmo. As principais aplicações encontradas na literatura sobre a utilização de RNAs em classificação se referem a: • Reconhecimento de imagens:
gama de aplicações de RNAs é bastante ampla, este capítulo procurou cobrir aplicações que envolvessem temas mais populares e atuais como modelarnento e predição. Temas mais clássicos ria área, como reconhecimento de caracteres, que por muitos anos serviram de benchmarking para testar modelos de RNAs, possuem literatura extensa na área, tendo sido bastante estudados na década passada. Foi dedicado neste capítulo mais espaço a temas em que há um número maior de problemas em aberto e que, conseqüentemente , viessem a motivar mais o leitor.
classificação de caracteres ( manuscritos ou impressos); reconhecimento de assinaturas; reconhecimento de faces. • Reconhecimento de sons: classificação de fonemas; reconhecimento de comandos. • Classificação financeira: Análise de crédito: previsão de falência de empresas. As aplicações em reconhecimento de imagens e de sons são bastante cobertas pela literatura de RNAs. Dentre as aplicações na área de classificação financeira . uma das mais bem-sucedidas é a de análise de crédito . A análise de crédito pode envolver tanto pessoa física ( cartão de crédito. cheque especial, empréstimo pessoal ) como pessoa jurídica . Crédito nada mais é que a entrega de um valor a uma pessoa mediante a promessa de este valor será restituído. Dado o risco de a promessa de crédito não ser cumprida , é necessário uma análise do risco de crédito. Redes Neurais têm sido muito bem -sucedidas quando aplicadas a problemas de análise de crédito . Em [FdC97, LdC98], redes neurais do tipo AILP e RBF são geneticamente otimizadas para lidar com a análise de crédito para pessoa física. Em [HPR-98], o desempenho de redes NILP em uma aplicação de análise de crédito é comparado ao obtido por técnicas simbólicas de aprendizado de máquina.
10.7 Conclusão Este capítulo apresentou algumas das principais aplicações de RNAs a problemas práticos do dia-a-dia. Longe de poder ser considerado completo, já que a
234
235
Bibliografia [A+96] R. Andrews et al. An evaluation and comparison of techniques for extracting and refining rules from artificial nerval networks. Technical report, Queensland University of Technology, 1996. [AAS89] R. AI-Alawi and T. J. Stonham. Functionality of multilayer Boolean neural networks. Electronics Letters, 25(10):657-658,1989. [AAS92] R. Al-Alawi and J. Stonham. A training strategy and functionality analysis of multilayer boolean neural networks. Journal of Intelligent Systems, 2:53-94, 1992. [ACB94] I. Aleksander, T. J. Clarke, and A. P. Braga. Binary neural systems: combining weighted and weightless properties. IEE Intelligent Systems Engineering, 3:211-221, 1994. [AG79]
W. W. Armstrong and J . Gecsei . Adaptation algorithms for binary tree networks . IEEE. Transactions on Systems, Man, and Cybernetics , 9:276-285, 1979.
[AG94] R. Andrews and S. Geva. Rule extraction from a constrained error backpropagation MLP. In Proceedings of the 5th Australian Conference on Neural Networks, pages 9-12, Brisbane, Austrália, 1994. [A1b75] J. S. Albus. A new approach to manipulator control: The cerebellar model articulation controller (CMAC ). Trans . ASME. Jn1. Dyn. Sys. Meas. and Control, 63(3):220-227, 1975. [A1e66]
I. Aleksander. Self-adaptive universal logic circuits . Electronics Letters, 2 : 231, 1966. 237
[Ale87]
I. Aleksander . Adaptive pattern recognition systems and boltzmann machines : A rapprochement . Pattern Recognition Letters, 6:113-120, 1987.
[A1e91]
I. Aleksander . Connectionism or weightless neurocomputing. In Proceedings of ICANN- 91, volume 2 , pages 991-1000 , Helsinki, 1991.
[A1m87] L.B. Almeida. A learning rule for asynchronous perceptrons with feedback in a combinatorial environment. In M. Caudill and C. Butler, editors, IEEE International Conference on Neural Networks, volume 2, pages 609-618, San Diego 1987, 1987. IEEE, New York. [AM90] I. Aleksander and H . Morton . An overview of weightless neural nets. In Proceedings of IJCNN- 90, volume 2 , pages 499-502, Washington, 1990. [AM91] I. Aleksander and H. Morton. General neural unit: retrieval performance. Electronics Letters, 27:1776-1778, 1991. [Ana91] T. J. Anastacio. Advances in Neural Information Processing Systems 3, chapter A recurrent neural network model of velocity storage in the vestibulo-ocular reflex. Morgan Kaufmann, 91. [And68] J.A. Anderson. A memory model using spatial correlation functions. Kybernetik, 5:113-119, 1968. [And70] J.A. Anderson. Two models for memory organization . Mathematical Biosciences, 8:137-160, 1970. [And91] T. R. Anderson. Speaker independent phoneme recognition with an auditory model and a neural network: a comparison with traditional techniques. In Proc. ICASSP-91, Int. Conf on Acoustics, Speech and Signal Processing, volume I, pages 149-152, Piscataway, NJ, 1991. IEEE Service Center.
[Ash91] K. Ashley. Modeling Legal Arguments: Reasoning with Cases and Hypotheticals. MIT Press, Bradford Books, 1991.
[Aus90] S. Austim. An introduction to genetic algorithms. 5:48-53, 1990. [AVT88]
AI Expert,
B. Angeniol , G. Vaubois,. and J . Le Texier. Self-organizing feature maps and the travelling salesman problem . Neural Networks, 1:289-293, 1988.
[BA94] A. P. Braga and I. Aleksander. Geometrical treatment and statistical modelling of the the distribution of patterns in the ndimensional boolean space. Pattern RecognitionLetters,16:507-515, 1994. [BAP+97]
A. P. Braga, M. B. Almeida , G. Pereira , M. Costa , and C. Barbosa. On the information storage of associative matrix memories. In D.L.Borges and W . Martins , editors , Proceedings of IVth Brazilian Symposium on Neural Networks (IEEE Computer Society Press), pages 51-56 . IEEE Computer Society Press, 1997.
[Bar89] H. Barlow. Unsupervised learning. 311, 1989.
Neural Computation, 1:295-
[Bar91] R. Barletta. An introduction to case-based reasoning. AI Expert, pages 43-49, 1991. [Bar94] G. Barfai. Hierarchical clustering with art neural network. Technical report. Universitv of Wellington, 1994. [Bar95] G. Barfai. An art-based modular architecture for learning hierarchical clusterings. Technical report, University of Wellington, 1995.
[AP94] A. Aamodt and E. Plaza. Case-based reasoning: Foundational issues, methodological variations and system approaches. AI Communications, 7:39-59, March 1994.
[Bat91] R. Battiti. First and second-order methods for learning: between steepest descent and Newton's method. Technical report, University of Trento, 1991.
(AS87] J. Austin and T. J. Stonham. An associative memory for use in image recognition and occlusion analysis. Image and Vision Computing, 5:251-261, 1987.
[BB59] W. Bledsoe and I. Browing. Pattern recognition and reading by machine. In Proceedings Eastern Joint Computer Conference, pages 225-232, Boston, 1959.
238
239
[BBA192] F. Z. Brili. D . E. Brown , and W. N. Martin. Fast genetic selection of features for neural network classifiers. IEEE Transactions on Neural Networks, 3(2):324-328. 'March 1992. [BC92] S. Billings and S. Chen. Neural networks and system identification. In \\'arwick K, Irwin G. W. and Hunt K. J.. editors. Neural Networks for Control and Systems , pages 181-205, Stevenage. 1992. IEE Control Engineering Series 46 . Peter Peregrinus. [BD94] 1\1. Berthold and J. Diamond. Boosting the performance of rbf networks with dynainic decay adjustment. In Advances in Neural Information Processing Systenzs 6, pages 521-528. MIT Press, 1994. [Ber95] D. Bertsekas. Non Linear Programnzing. Athena Scientific. 1995. [BF96 ]
Y. Bengio and P. Frasconi . Iiiput-output HMMs for sequence processing. IEEE Transactions on Neural Networks, 7( 5):1231 - 1249. 1996.
[BFF89] D. L. Bisset. E. Filho, and M. C. Fairhurst. A comparative study of neural network structures for practical application in a pattern recognition envirornent. In Proceedings of the First IEE. International Conference on Artificial Neural Networks, pages 378-382. London, UK, October 1989. IEE. [BG87] J. P. Banquet and S. Grossberg. Probing cognitive processes through the sctructure of event-related potentials during learning: An experimental and theoretical analysis. Applied Optics. 26(23):4931-4946, 1987.
[BH69] A. E. Bryson and Y. Ho. Applied Optimal Contról. Blaisdell, 1969. [BH89] P. Baldi and K. Hornik. Neural networks and principal components analysis: learning from examples without local minima. Neural Networks, 2:53-58, 1989. [BH95a] K. Balakrishnan and V. Honavar. Evolutionary design of neural architectures: A preliminary taxonomy and guide to literature. Technical report, Computer Science Department, Iowa State University, 1995. 240
[BH95b] H . Bischof and K. Hornik. PCA-Pyramids for image compression. In G. Tesauro, D. S. Touretzky, and T. K. Leen, editors, Advances in Neural Information Processing Systems 2, pages 941 -948. Morgan Kaufmann, 1995. [BH95c]
M. Brown and C. J. Harris. A perspective and critique of adaptive neurofuzzy systems used in modelling and control applications. Int. J. Neural Systems, 1995 . submitted for publication.
[Bis95] C . Bishop. Neural Networks for Pattern Recognition. Oxford Press, 1995. [BL88] D. S. Broomhead and D . Lowe. Multivariable function interpolation and adaptive networks . Complex Systems , 2:321 -355, 1988. [Bra91 ]
B. Branting. Exploiting the complementarity of rules and precedents with reciprocity and fairness . In Case-Based Reasoning Workshop , pages 39-50, 1991.
[Bra94a]
A. P. Braga . Attractor properties of recurrent networks with generalising boolean nodes . In Proceedings of the International Conference on Artificial Neural Networks , pages 421-424 . SpringerVerlag, 1994.
[Bra94b] A. P. Braga. Predicting contradictions in the storage process of diluted recurrent boolean neural networks. Electronics Letters, 30:55-56, 1994. [Bra95]
J. Branke . Evolutionary algorithms for network design and training. Technical report , Institute AIFB , University of Karlsruhe, 1995.
[Bra97]
C. M. P. Braga . Desenvolvimento, implementação, modelagem e controle de um sistema piloto anaeróbico de tratamento de esgotos. Technical report , UFMG , Belo Horizonte , Brasil, 1997.
[BRG95] H. Burke , D. Rosen , and P. Goodman . Comparing the prediction accuracy of artificial neural networks and other statistical models for breast cancer survival . In G. Tesauro, D. S. Touretzky, and T . K. Leen, editors , Neural Information Processing Systems 7. MIT Press, 1995. [Bro63] R. G. Brown . Smoothing, forecasting and prediction of discrete time series. Prentice Hall, USA, 1963. 241
[BSA83] A.G. Barto, R.S. Sutton; and C.W. Anderson. Neuronlike adaptive elements that can solve difficult learning problems. IEEE Transactions on Systems, Màn and Cy.bernetics , SMC-13: 834-846, 1983.
[CG93] G. Carpenter and K. Govindarajan. Evaluation of speaker normalization methods for vowel recognition using fuzzy artmap and k-nn. Technical reporta CNS-Boston University, 1993.
[BSV96] B. Back, K. Sere, and H. Vanharanta. Data mining account numbers using self-organizing maps. In Finnish Artificial Intelligence Conferente, pages 35-47, 1996.
[CGGW96] G. Carpenter, M. Gjaja, S. Gopal, and C. Woodcock. Art neural networks for remote sensing: Vegetation classification from landsat tm and terrain data. Technical report, CNS-Boston University, 1996.
[BT90] ' D. Bailey and D. Thompson. Developing neural network applications. AI Expert, 5:34-41, 1990. [Cau91] M. Caudill. Neura: network training tips and techniques. AI Expert, 6:55-61, 1991. [CBB+97] A. L. Carvalho, A. P. Braga, C. M. P. Braga, T. L. V. Guimarãés , and R. T. Pena. Modelagem de um reator piloto de manta de lodo utilizando redes neurais artificiais. In Dibio Leandro Borges and Weber Martins, editors. IV Simpósio Brasileiro de Redes Neurais, Goiânia, GO, Dezembro 1997. [CFB92] A. C. P. L. F. Carvalho, M. C. Fairhurst, and D. L. Bisset. SOFT - a. Boolean self organising feature extractor. In Proceedings of the ICANN. 92 Conferente, pages 669 -672, Brighton, UK, September 1992. Elsevier. [CFB97] A. C. P. L. F. Carvalho. M. Fairhurst, and D. Bisset. Combining boolean neural architectures for image recognition. Connection Science, 9(4):405-418, 1997. [CG87a] G. A. Carpenter and S. Grossberg. ART2: Self-organization of stable category recognition codes for analog input patterns. Applied Optics, 26(23):4919-4930, 1987. [CG87b] G. A. Carpenter and S. Grossberg. A massively parallel architecture for a self-organizing neural pattern recognition machine. Computer Vision, Graphics. and Image Processing, 37:54-115, 1987. [CG88] G. A. Carpenter and S. Grossberg. The ART of adaptive pattern recognition by a self-organizing neural network. Computer, 21:7788, 1988. [CG90] G. A. Carpenter and S. Grossberg. ART3: Hierarchical search using chemical transmitters in self-organizing pattern recognition architectures. Neural Networks. 3(2):129-152. 1990. 242
[CG1\1+91] G. A. Carpenter, S. Grossberg. N. Nlarkuzon, J. H. Reynolds, and B. Rosen. Fuzzy ARTMAP : A neural network architecture for incremental supervised learning of analog multidimensional maps. Teçhnical report, Boston University, 1991. [CGR91a] G. A. Carpenter. S. Grossberg. and J. H. Reynolds. ARTMAP: Supervised real time learning and classification of nonstationary data by a self-organizing neural network. Neural Networks, 4:565588, 1991. [CGR91b] G. A. Carpenter. S. Grossberg. and D. Rosen. Art2a: An adaptive resonance algorithm for rapid category learning and recognition. Neural Netw•orks. 4:493-504. 1991. [CGR91c] G. A. Carpenter. S. Grossberg. and D. B. Rosen. Fuzzy ART: Fast stable learnin_ and categorization of analog patterns 1),, an adaptive ressonar:ce sustem. Neural .Vetworks. 4:759-771, 1991. [Cha90] D. Chalmers. T.C, e-:o' ution of learning: an experiment in genetic connectionism. Is Connectionist models: 1990 surnner school, pages 81-90. M,^r_a r Nauffmann. 1990. [CK95] F. C. Chen and H. K. Khalil. Adaptive control of a class of nonlinear discrete-T'._.e systems using neural net,N-orks. IEEE Trans. on automatic 40:791-801. 1995. [CM96] G. Carpenter and N. \Iarkuzon. Artmap-ic and medical diagnosis: Instance counti- and inconsistent cases. Technical report, CNSBoston U nivers--:. 1996. [CS94] M. Craven and J. ^avlik . Using sanipling and queries to extract rules from traire= neural netrivorks. In W. Colien Arnd H. Hirsh, editor. Proceed, of the 11th International Conferente on AIachine Learning. nazis 37-45. New Brunswick. EUA, 1994. Morgan Kaufmann. 243
[CS96]
M. Craven and J. Shavlik. Extracting tree-structured representations of trained networks. In D. S. Touretzky, AI. C. Alozer, and Al. E. Hasselmo, editors, Advances in Neural Information Processing Systems, pages 37-45, Denver, EUA, 1996. 1\IIT Press.
[CS97]
W. Chang and H. S. Soliman. Irnage coding by a neural net classification process. Applied Artificial Intelligence, 11(1):33-57, 1997.
[Cyb88]
G. Cybenko. Continuos valued neural networks with two hidden layers are sufficieiit. Technical report, Department of Computer Science, Tufts University, 1988.
[Cyb89]
[Fah91 ]
S. E. Fahlman . The recurrente cascade-correlation architecture, 1991. Technical Report CMU-CS-91-100. Carnegie-Mellon University.
Fai88]
M. Fairhurst. Computer Vision for Robotic Systems. Prentice/Hall International, 1988.
[Fau94]
L. Fausett . Fundamentais of Neural Networks. Architectures, Algorithms and Applications . Prentice Hall, 1994.
[FB90]
E . Filho and D. L. Bisset . Applying the ART1 architecture to a pattern recognition task . In Proceedings of the Parallel Processing in Neural Systems and Computers conferente, pages 343-349, Dusseldorf,FRG, March 1990 . North- Holland.
[FBF90]
E . Filho, D. L. Bisset , and M. C. Fairhurst. A. goal seeking neuron for Boolean neural networks . In Proceedings of the International Neural Networks Conferente, volume 2 , pages 894-897, Paris, France , July 1990.
FBF92]
E . Filho, D. L. Bisset , and M . C. Fairhurst. Architectures for goal-seeking neurons . International Journal of Intelligent Systems,
G. Cybenko. Approximation by superpositions of a sigmoid function. Afathematics of Control, Signals and Systems, 2:303-314,
1989. [D196]
J. Denker et al. Neural network recognizer for handwritten zip code digits. Neural Networks ll-orld., 6(3):241-249. 1996.
[Dar59]
C. Darwin. On the origin of species by means of natural selection. John Alurray, 1859.
[DB95]
R. C. Dorf and R. H. Bishop. Alodern Control Systems. Addison\Vesley, USA, 7th edition, 1995.
[DeS88]
D. DeSieno. Adding a consciente to competitive learning. In IEEE Internationcal Conferente on Neural Networks, pages 117124. IEEE Press, 1988.
[d-'xI73]
C. Von der Malsburg. An automaton with brain-like properties.
2:95-119, 1992. [FC97]
E . Mendes Filho and A. C. P. L. F. Carvalho. Evolutionary designneural network architectures . In IV Simpósio Brasileiro de Redes Neurais, pages 58-65. IEEE Press, 1997.
FdC97]
E. Mendes Filho and A. de Carvalho. Evolutionary design of mlp neural network architectures. In Dibio Leandro Borges and Weber Martins , editors, IV Simpósio Brasileiro de Redes Neurais, pages 58-65 , Goiânia - GO , Dezembro 1997.
Fel50]
W. Feller. An Introduction to Probability Theory and Its Applications I. John Wiley, New York, second edition, 1950.
Kybernetes, 14:85-100, 1973. [DAIR93]
S.P. Day and Davenport 1\1. R. Continuos-time temporal backpropagation with adaptive time delays. IEEE Transactions on
Neural Networks, 4:348-354, 1993. [E1m90]
J. L. Elman. Findirig structure in time. Cognitive Science, 14:179211, 1990.
[Fer77]
A. B. H. Ferreira. Dicionário Aurélio da Língua Portuguesa. Editora Nova Fronteira, 1977.
[Fah88]
S. E. Fahlman. An empirical study of learning speed in backpropagation networks. Technical report, Carnegie Mellow University,
[FFB91]
E . Filho, M. C. Fairhurst , and D . L. Bisset . Adaptive pattern recognition using goal-seeking neurons . Pattern Recognition Let-
1988. 244
ters, 12:131-138, March 1991. 245
S. E. Fahlman and C. Lebiere. The cascade-correlation learning architecture. In R. P. Lippmann, J.. E. Moody, and D. S. Touretzky, editors, Advances in Neural Information Processing Systems 2. Morgan Kaufmann, 1988.
[Gar87]
E. Gardner. Maximum storage capacity in neural networks. Europhysics Letters, 4:481-485, 1987.
[GBD92]
S. Geman, E. Bienenstock, and R. Doursat. Neural networks and the bias-variance dilemma. Neural Computation, 4:1-58, 1992.
(Fra87]
M. Franzini. Speech recognition with back propagation. In 9th Annual Conferente of IEEE Engineering in Medicine and Biology Society, 1987.
[GEW95]
S. Grossberg, Mingolla E, and J. Williamson. Synthetic aperture radar processing by a multiple scale neural system for boundary and surface representation. Neural Networks, 8:1005-1028, 1995.
[Fre90]
M. Frean. The upstart algorithm: A method for constructing and training feed-forward neural networks. Neural Computation,
[GK95]
S. Goonatilake and S. Khebbal. Intelligent Hybrid Systems. John Wiley & Sons, Inc, 1995.
[GM90]
G.W.Cottrel and M.K.Fleming. Faces recognition using unsupervised feature extraction. In Proceedings of the International Neural Network Conference, Paris, 1990.
[FL88)
2:189-209, 1990. [Fri95]
B. Fritzke. A growing neural gas network learns topologies. In Advances in Neural Information Processing Systems 7, pages 521528. AIIT Press, 1995.
[GNIC +92] C. Giles, C. Miller, D. Chen, G. Sun. H. Chen, and Y. Lee. Learning and extracting finite state automata with second-order recurrent neural networks. Neural Computation. 4(3):393-405, 1992.
Li-Chen Fu. Neural network approach to variable structure based adaptative tracking of siso systems. In Proc. IEEE Workshop on variable Strucuture Systems, 1996.
Gol89]
D. E. Goldberg. Genetic Algorithms in Search, Optimization and Machine Learning. Addison Wesley. 1989.
Fuk75]
K. Fukushima. Cognitron: a self-organising multilayered neural network. Biol. Cybern., 23:121-134, 1975.
[Gro76a]
[Fuk80]
K. Fukushima. Neocognitron:a self-organizing neural network model for a mechanism of pattern recognition unaffected by shift iii position. Biological Cybernetics, 36:193-202, 1980.
S. Grossberg. Adaptive pattern classification and universal recoding: II. feedback, expectation, olfaction. illusions. Biological Cybernetics, 23:187-202, 1976.
[Gro76b]
K.I. Funuhashi. On the approximate realization of continuous mappings by neural networks. Neural Networks, 2:183-192, 1989.
S. Grossberg. Adaptive pattern recognition and universal recoding: parallel development and coding of neural feature detectors. Biol. Cybern., 24:121-134, 1976.
[Gro87]
S. I. Gallant. Incremental learning of local linear mappings. In 8th Conferente on Pattern Recognition, pages 217-222, 1986.
S.Grossberg. Competitive learning: From interactive activation to adaptive resonance. Cognitive Science. 11:23-63, 1987.
[GRS90]
D. Golonib, N. Rubin, and H. Sompolinsky. «'illshaw model: As-
[Fu96]
[Fun89]
[Gal86]
[Gal90a]
S. I. Gallant. Perceptron based learning algorithms. IEEE Transactions on Neural Networks, 1:179-192, 1990.
[Gal90b]
S. I. Gallant. Perceptron based learning algorithms. IEEE Transactions on Neural Networks, 1:179-192, 1990.
sociative memory with sparse coding and lo v firing rates. Phy.sical Review A, 41:1843-1854, 1990. [Gur92]
[Gal93]
S. I. Gallant. Neural Network Learning and Expert Systems. MIT Press, 1993.
246
K. N. Gurney. Training nets of hardware realizable sigma-pi units.
Neural Networks, 5:289-303, 1992. [GW95]
B. Graham and D. Willshaw. Capacity and information efficiency of a brain-like associative net. In Veural Information Processing Systems, pages 513-520, 1995.
247
[Ha197] S. Halgamuge. Self e'volving neural networks for rule based data processing. IEEE Tran.sactions on Signal Processing. 45(11):27662773, November 1997.
[HL93] S. Haykin and L. Li. Applications of Neural Networks to Telecommunicatios, chapter 16 kb/s adaptive differential pulse code modulation of speech. Lawrence Erlbaum, 1993.
[Ham89] K. Hammond. Case-Based Planning Viewing Pla.nning as a Memory Task. Academic Press, 1989.
[HM94]
[Ham90] S. E. Hampson. Connectionistic Problem Solving: Cornputational Aspects of Biological Learning. Berlin: Birkhauser. 1990. [Has95] M. H. Hassoun. Fundamentais of artificial neural networks. MIT Press, Cambridge, AMA, 1995. [Hay91] Y. Hayashi. A neural expert system with autornated extraction of fuzzy if-then rules and its application in medical diagnosis. In R. P. Lippmann, J. E. l\ioodv, and D. S. Touretzky. editors, .4dvances in Neural Information Processing Systems 2, pages 578-584. I\Iorgan Kaufmann. 1991. Neural Networks - A Comprehensive Foundation. [Hay94] S. Haykin. Prentice-11a11, 1994.
[HN87] Geoffrey E. Hinton and Stephen J. Nowlan . How learning can guide evolution. Complex Systems, 1(1):495-502, June 1987.
[Hop82] J. J. Hopfield . Neural networks and physical systems with emergent collective properties. Proc. Nat. Acad. Sci., 79: 2554-8, 1982. [Hop84] J . J. Hopfield . Neurons with graded response have collective computational properties like those of two-state neurons . Proceedings of the National Academy of Sciences, USA, 81 : 3088-3092, May 1984. [HPR+98]
[Heb49] D. O. Hebb. The Organization of Behavior. Wiley, 1949. [Hin88] T. Hinrichs. Towards and architecture for open world problem solving. In Case-Based Reasoning Workshop, DARPA. Morgan Kaufmann, 1988. [HKLK96] T. Honkela, S. Kaski , K. Lagus, and T. Kohonen . Exploration of full- text databases with self-organizing maps. In IEEE International Conferente on Neural Networks -ICNN'96, pages 56-61, 1996. [HKP91] J. Hertz, A. Krogh, and R. G. Palmer. Introduction to the Theory of Neural Computation, volume Lecture Notes Volume I of Santa Fe Institute Studies in The Science of Complexity. AddisonWesley, 1991. [HL91] X. He and A. Lapedes. Nonlinear modelling and prediction by sucessive approximations using radial basis functions . Technical report, Los Alamos National Laboratory, 1991. 248
M. Hagan and M. Menhaj . Training feedforward networks with the Marquardt algorithm . IEEE Transactions on Neural Networks, 5(6):989-993, November 1994.
P. Horst , T. Padilha, C. Rocha , S. Rezende , and A. de Carva lho. Knowledge acquisition using symbolic and connectionist algorithms for credit evaluation . In Patrick Simpson , editor, IEEE World Congress on Computational Intelligence , WCCI'98, Anchorage , EUA, Mãio 1998.
[HSG89] S . Harp , T. Samad , and A . Guha . Towards the genetic synthesis of neural networks. In 3rd International Conferente on Genetic Algorithms, pages 360-369. Morgan Kauffmann, 1989.
[HSW89]
K. Hornik , M. Stinchcombe, and H . White. Multilayer feedforward networks are universal approximators . Neural Networks, 2:359366, 1989.
[HT85] J. J. Hopfield and D. W. Tank . Neural computation of decision in optimation problems . Biological Cybernetics , 52:141 - 152, 1985. [IAP93] R. Evans I. Aleksander and W. Penney. Magnus : an iconic neural state machine . In Proceedings of the Weightless Neural Network Workshop. University of York, 1993. [Jon80]
K. Jong. Adaptive systems design . IEEE Transactions on Systems, Man, and Cybernetics , 10, 1980.
249
[Jor86]
M. I. Jordan. Attractor dynamics and parallelism in a connectionist sequential machine. In Proceedings of the Eighth Annual Conference of the Cognitive Science Society, pages 531-546, Amherst, 1986. Hillsdale: Erlbaum.
[JRRC97]
K. Jezernik, M. Rodic, R. Safaric R., and B. Curk. Neural network sliding mode robot control. ROBOTIC, 15:23-30, 1997.
[KA87]
W. K. Kan and I. Aleksander. A. probabilistic logic neuron net• work for associative learning. In Proceedings of the IEEE. First
[KA89]
[Koh86]
T. Kohonen. Learning vector quantization for pattern recognition. Repórt,TKK-F-A601, Helsinki University of Technology, Espoo'. Finland, 1986.
[Koh88]
T. Kohonen. The `neural' phonetic typewriter. 21(3):11-22, 1988.
[Koh89]
T. Kohonen. Self-Organization and Associative Memory. SpringerVerlag, Berlin, 3 edition, 1989.
International Cor ference on Neural Networks, volume II, pages 541-548, San Diego, California, June 1987. IEEE.
Ko183a]
J. Kolodner. Maintaining organization in a dynamic long-term memory. Cognitive Science, (7):243-280, 1983.
W. K. Kan and I. Aleksander. Neural Computing Architectu7c5, chapter RAM-Neurons for adaptive image transformation tasks.
[ K o18 3 b]
J. Kolodner. Reconstructive memory , a computer model. Cognitive Science, (7):281-328, 1983.
[Ko192]
J. Kolodner. An introduction to casa-based reasoning . Artificial Intelligence Review, (6):3-34, 1992.
Ko193]
J. Kolodner. Case-Based reasoning. Morgan Kauffmann, 1993.
[Kot89]
P. Koton. Using Experience in Learning and Problem Solving. PhD
Chapman and Hall, 89. [Kan88]
P. Kanerva. Sparse Distributed Memory. MIT. Press, 1988.
[Kar90]
E. D. Karnin. A simple procedure for pruning back-propagation trained neural networks. IEEE Transactions on Neural Networks,
1(2):239-242, 1990. [Kit90]
[KK96]
H. Kitano. Designing neural networks using genetic algorithms with graph generation system. Complex Systems, 4:461-476, 1990. S. Kaski and T. Kohonen. Structures of welfare and poverty in the world discovered by self-organizing maps. Technical report, Laboratory of Computer and Information Science - Helsinki University
of Technology, 1996. Koc96]
[Koh72]
thesis, MIT, 1989. [KR73]
T. Kohonen and M. Ruohonen. Representation of associated data by matrix operators. IEEE Transactions on Computers, C-22:701-
702, 1973. [KU1871
M. Kawato, Y. Uno, and M. Isobe. A hierarchical model for voluntary movement and its application to robotics. In IJCNN 1987
Vol. 4, pages 573-582, 1987.
G. Kock. The neural network description language CONNECT and its C++ implementation. Technical report, GMD FIRST Berlin, August 1996.
Computer,
[KW93]
S. Krovvidy and W. C. Wee. Wastewater treatment systems froco case-based reasoning. Machine Learning, 10:341-363, 1993.
[Lay97]
D. Lay.
T. Kohonen. Correlation matrix memories. IEEE Transactions on
Computers, C-21:353-359, 1972.
Linear Algebra and its Applications.
Addison Wesley,
1997. [Koh74]
T. Kohonen. An adaptive associative memory principle.
IEEE
Transactions on Computers, C-23:444-445, 1974.
[Koh82]
T. Kohonen. Self-organized formation of topologically correct feature maps. Biological Cybernetics, 43, 1982.
250
[LBD+89]
Y. LeCun, B. Boser, J. S. Denker, D. Henderson, R. E. Howard, W. Hubbard, and L. D. Jackel. Backpropagation applied to handwritten Zip Iode recognition. Neural Computation, 1:541-551,
1989. 251
[LBD+90]
[LdC98]
LdO94]
[LDS90]
[LeC85]
Y. LeCun. B. Boser. J.S. Denker, D. Henderson, R.E. Howard. W. Hubbard. and L.D. Jackel. Handwritten digit recognition with a back-propagation network. In D.S. Touretzky, editor. Neural Information Processing Systems, volume 2, pages 396-404, Denver 1989. 1990. Morgan Kaufmann. San Mateo.
[Lin86c]
R. Linsker. From basic network principies to neural architecture: Emergente of spatial-opponent cells. Proceedings of the National Acadeny of Sciences, USA, 83:7508-7512, 1986.
Lin88]
R. Linsker. Self-organization in perceptual network.
E. Lacerda and A. de Carvalho. Redes de futres base radial para avaliao de risco de crdito. In Antônio de Pádua Braga. editor, V Simpósio Brasileiro de Redes Neurais. pages 259-264, Belo Horizonte - MG. Dezembro 1998.
[LK89]
T. B. Ludermir and W. R. de Oliveira. WVeightless neural models. Computer Standards ' Interfaces, 16:253-263, 1994. Y. LeCun. J.S. Denker. and S.A. Solla. Optimal brain damage. In D.S. Touretzkv, editor. Neural Information Processing Systems, volume 2. pares 598-605, Denver 1989. 1990. Morgan Kaufmann. San Mateo. Y. LeCun. A learning procedure for assymetric threshold network. In Proceeding.s of Cognitiva 85 . pages 599-604 . 1985 .
[Leo94]
S. J. Leon. Linear algebra with applications. Prentice Hall, 1994.
[Lev91]
E. Levin. Modeling time varying systems using hidden control neural architecture. In Richard P. Lippmann, John E. Moody. and David S. Touretzky, editors, Advances in Neural Information Processing Systems. volume 3, pages 147-154. Morgan Kaufmann Publishers. Inc.. 1991.
[LH88]
Lin86a]
K. J. Lang and G. E. Hinton. The developrnent of the time-delay neural networks architecture for speech recognition, 1988. Technical Report CMU -CS-88-152. Carnegie-Mellon University. R. Linsker. From basic network principies to neural architecture: Emergente of orientation-selective cells. Proceedings of the Na-
tional Academy of Sciences, USA, 83:8390-8394, 1986. [Lin86b]
R. Linsker. From basic network principies to neural architecture: Emergente of orientation columns. Proceedings of the National Academy of Sciences. USA, 83:8779-8783, 1986.
252
Computer,
21(3):105-117, 1988.
M. Lemmon and B. V. K Y. Kumar. A model for self-organization in wta networks and its application to map prediction problems. In Maureen Caudill and Charles Butler, editors. Int. Joint Conf on Neural Networks, volume II, pages 509-516, Washington. D.C..
June 1989. IEEE. LLD93]
D. Lin, P. A. Ligomenides, and J. E. Dayhoff. Learning spatiotemporal topology using an adaptive time-delay neural network. In Proc. World Congress on Neural Networks, 1993.
[Luc91]
J. Lucy. Perfect auto-associators using ram-type nodes. Electronics Letters, 27:799-800, 1991.
[MA88]
C. Myers and I. Aleksander. Learning algorithm for probabilistic neural nets. In Proceedings of the First INNS. Annual Meeting,
pages 205-209, 1988.
[ MA93]
W. Martins and N. M. Allinson. Two improvements for GSN neural networks. In Weightless Neural Network- 1,I7orkshop'93, Computing with Log ical Neurons, pages 58-63, University of York,
York. UK, April 1993. Mac67]
J. MacQueen. Some methods for classification and analysis of multivariate observations. In 5th Berkeley Symposium on Mathematical Statistics and Probability, pages 281-297, 1967.
[Mal95]
M. Malek. A connectionist indexing approach for cbr systems. In A. Aamodt and M. Veloso, editors, Proceedings of First Inter-national Conferente on Case-Based Reasoning Research and Dcrelopment, pages 520-527, October 1995.
Mam93]
R. J. Mammone, editor. Artificial Neural Networks for Speech and Vision. Chapman & Hall, London, 1993.
[Man93]
M. Mandischer. Representations and evolution of neural networks. In R. Albreight, C. Reeves, and N. Steele, editors, Artificial Neural Nets and genetic algorithms, pages 643-649. Springer verlag. 1993-
253
[Mar98] L. F. Marzano . Modelamento de uma caldeira da usiminas através de redes neurais artificais . Master's thesis, PPGEE-UFMG, 1998. [MC98] C. Milaré and A. C. P. L. F. Carvalho . Using a neural network in a case based reasoning system . In International Conferente on Computational Intelligence and Multímedia Applications, pages 43-48. World Scientific, 1998. [MD89a]\ D. Montana and L . Davis. Training feedforward neural networks using- genetic algorithms. In 11 th International Joint Conference on Artificial Intelligence. pages 762-767. Morgan Kauffmann, 1989. [MD89b] J. Moody and C. Darken. Fast learning in networks of locallytuned processing units. Neural Computation, (1):281-294, 1989. [MDC95] A. Mpé, S. Deveughéle. and \I. Clément. Usino self- organising feature maps for water monitoring. In Proceedings of the ICANN 95 Conferente, volume Forecasting & Marketing. pages 1-6, October 1995. [Min61] M. L. Minsky. Steps towards artificial intelligence. In Proc. of the Institute of Radio Engineers 49, pages 8-32, 1961. Adaptirve, Learning, and [\1\170] J. M. Mendel and R. W. McLaren. Pattern Recognition Systeins: Theory and Applications, chapter Reinforcement-learning control and pattern recognition systems, pages 287-318. Ne«- York: Academic Press, 70. [^IN89] M. Mezard and J. Nadal. Learning in feedforward neural networks: The tiling algorithm. J. Phys. A: Math and Gen., 22:2191-2203, 19s9. [MP43] W.S. McCulloch and W. Pitts. A logical calulus of the ideas immanent in nervous activity. Bulletin of Mathernatical Biophysics, 5:115-133, 1943. [MP69] M. Minsky and S. Papert. Perceptrons: an introduction to computational geometry. MIT Press, l\Iassachusetts. 1969. [MPRV87] R.J. 1\IcEliece. E.C. Posner. E.R. Rodemich, and S.S. Venkatesh. The capacite of the hopfield associative memory. IEEE Transactions on Information Theory. 33:461-482. 1987. 254
[MPW89] J. Murre, R. Phaf, and G. Wolters. Calco networks: A modular approach to supervised and unsupervised learning. In Maureen Caudill and Charles Butler, editors,. International Joint Conferente on Neural Networks, pages 649-665, Washington, D.C., June 1989. IEEE. [MS89] M. C. Mozer and P. Smolensky. Skeletonization: A technique for trimming the fat from a network via relabance assessment. In D. S. Touretzky, editor, Advances in Neural Information Processing Systems 1, pages 107-115. \Iorgan Kaufmann, 1989. [MTH89] G. Miller, P. Todd, and S. Hedge. Designing neural networks using genetic algorithms. In Srd International Conferente on Genetic Algorithms, pages 379-384. Morgan Kauffmann, 1989. [MTW94] J. D. McCauley, B. R. Thabe, and A. D. Whittaker. Fat estimation in beef ultrasound images using texture and adaptive logic networks. Transactions of ASAE. 37(3):997-102, June 1994. [Mur71] S. Muroga. York, 1971.
Threshold Logic and its Applications.
Wiley, New
[Mur94] D. Murray. Tuning neural networks with genetic algorithms. Expert, 9:27-31. 1994.
AI
[MWG88] D. A. Mighell. T. S. Wikinson. and J. W. Goodman. Backpropagation and its application to handwritten signature verification. In R. P. Lippmann, J. E. Moodv.. and D. S. Touretzky. editors, Advances in Neural Information Processing Systems 2. I\Iorgan Kaufmann, 1988. [Mye89] C. E. I\Iyers. Output functions for probabilistic logic podes. In First IEE International Conferente on Artificial Neural Networks, pages 310 -314. London, UK. October 1989. IEE. [Ni165] N. Nilsson. Learning MachinFs. Morgan Kaufmann , San Mateo, CA, 1965. [NP92] K. S. Narendra and K. Parthasaratlrv. Identification and control of dynamic systems using neural networks. IEEE Trans. on Neural Networks, 1(1) :4-27, 1992. [Oja82] E. Oja. A simplified neuron model as a principal component analyzer. Journal of Methematicol &iology, 15:267-273, 1982. 255
[OV97] E. Oja and K. Valkealahti. Local independent component analysis by the self-organizing map. In Proc . ICANN'97. 7th International Conferente on Artificial Neural Networks, volume 1327 of Lecture Notes in Computer Science, pages 553 -558. Springer, Berlin, 1997. [Par85] D. Parker. Learning logic: Casting the cortei of the human brain in silicon. Techiical report, Center for Computational Research in Economics and Management Science, MIT, 1985. [PB86] B. Porter and R. Bareiss. PROTOS: An experinient in knowledge acquisition for heuristic classification tasks. In First International Meeting on Advances in Learning (IMAL), pages 159-174. 1986. [PBH90] B. Porter, R. Bareiss, and R. Holte. Concept learning and heuristic classification in weak-theorv domains. Artificial Intelligence, 45:229-263, 1990. [PC87] S. Patarnello and P. Carnevali. Learning net-,sorks of neurons \vith Boolean logic. Europhysics Letters, 4(4):503-508, 1987. [Pea92] B. Pearlmutter. Gradient descent: second order momentum and saturation error. In J. E. Moody, S. Hanson, and R. Lippinann. editors. Adz'ances in Neura.l Information Processing Systems 2, pages 887--894. 1\Iorgan Kaufmann, 1992. [Per88] P. Peretto. On learning rules and memory storage abilities of asvmmetrical neural networks. Journal de Physique (Paris), 49:711726, 1988. [PFF95] V. Porto. D. Fogel, and L. Fogel. Alternative neural network training methods. IEEE Expert, 10:16-22, 1995. [PG92] L. Pau and T Gotzche. Explanation facility for neural networks. Journal of Intelligent and Robotic Systems, 5:193-206, 1992. [PGD85] L. Personnaz, I. Guyon, and G. Dreyfus. Information storage and retrieval in spin-glass-like neural networks. Journal de Physique Letters (Paris), 46:359-365, 1985. [PGS90] W. D. Penny, K. N. Gurney, and T. J. Stonham. Reward-penalty training for logical neural networks. In Conferente on Artificial Intelligence Applications and Neural Networks, page 4, Zurich, June 1990. 256
[Pin87] F. J. Pineda. Generalization of back-propagation to recurrent neural networks. Physical Review Letters, 59:2229-2232, 1987. [PMB98] G. Parma, B. R. Menezes, and A. P. Braga. Sliding mode algorithm for training multi-layer neural networks. IEE Electronics Letters, 34(1):97-98, 1998. [PNH86] D. Plaut, S. Nowlan, and G. Hinton. Experiments on learning by back-propagation. Technical report, Departament of Computer Science, Carnegie-Mellon University, 1986. [PP93] V. Petridis and K. Paraschidis. Structural adaptation based on a simple learning algorithm. In International Joint Conferente on Neural Networks, pages 621-623, 1993. [PYH95] R. Parekh, J. Yang, and V. Honavar. Contructive neural network learning algorithms for multi-category pattern classification. Technical report, Computer Science Department, Iowa State University, 1995. [Qui86] J. Quinlan. Induction decision trees. Machine Learning, 1(1):81106, 1986. [Qui93] J. Quinlan. C4.5: Programs for Machine Learning. Morgan Kaufmann, 1993. [RC94] E. Reategui and J. A. Campbell. A classification system for credit card transactions. In M. Keane, J. Haton, and M. Manago, editors, Preceedings of The Second lEuropean Workshop on Case-Based Reasoning, pages 167-174, November 1994. [RCB95] E. Reategui, J. A. Campbell, and J. A. Borghetti. Using a neural network to learn general knowledge in a case-based system. In A. Aamodt and M. Veloso, editors, Proceedings of First International Conferente on Case-Based Reasoning Research and Development, pages 528-537, October 1995. [Ree93] R. Reed. Pruning algorithms - A survey. IEEE Transactions on Neural Networks, 4(5):740-746, 1993. [RHW86] D. E. Rumelhart, G.E. Hinton, and R.J. Williams. Learning representations by back-propagating errors. Nature, 323:533-536, 1986.
1
257
[Rie94] NI. Riedmiller. Rprop - . description and implementation. details. Technical report, University of Karlsruhe, 1994. [RM86] D. E. Rumelhart and J. L.; nlcClelland. Parallel Distributed Processing, volume 1: Foundations. The MIT Press, 1986. [Ros58] F. Rosenblatt. The perceptron: A probabilistic model for information storage and organization in the brain. Psychol. Rev.. 65:386408, 1958. [Ros62]
F. Rosenblatt . Principies of Neurodynamics: Perceptrons and the theory of brain mechanisms . Spartan Books , New York, 1962.
[SA77]
R. Schank and R . Adelson . Scripts , Plans, Goals and Understanding an Inquiry into Human Knowledge Structures . Lawrence Erlbaum Associates , Publishers, 1977.
[San92] A. Sankar. Neural tree networks. In R. Alammone. editor. Computational Methods for Signal Recovery and Recognition. pages 327367. John Wiley & Sons, 1992. [SB95] R. Sun and L. A. Bookman, editors. Computational Architectures Integrating Neural and Symbolic Processes: A Perspective on the State of the Art. Kluwer Academic Publishers, 1995. [SBW91] R.S. Sutton, A.G. Barto, and R. J. Willians. Reinforcement learning is direct adaptive optimal control. In Proc. of the American Control Conferente, pages 2143--2146, 1991. [SC96] C. Serrano-Cinca. Self-organizing neural networks for financial diagnosis . Decision Support Systems , 17(13): 227-238. 1996.
[Sim85] R. Simpson. A computer model of case-based reasoning in problem solving : An investigation in the domain of dispute mediation. Technical report, Georgia Institute of Technology, School of Information and Computer Science, 1985. [SJR96] A. Sabanovic, K. Jezernik, and M. Rodic. Neural network application in sliding mode control systems . In Proc. IEEE Workshop on Variable Structure Systems, USA, 1996. [SJW91] W. Schiffmann, M. Joost, and R. Werner. Performance evaluation of evolutionary created neural network tcpologies . In Parallel problem solving from nature 2, pages 292-296, 1991. [S1a91] S . Slade. Reconstructive memory , a computer model. AI Magazine, (7):43-49, 1991. [SR89] R. Schank and C. Riesbeck. Inside Case-Based Reasoning. Lawrence Erlbaum Associates, 1989. [SR92] C. Skalak and E. Rissland. Arguments and cases: An inevitable twining. Artificial Intelligence and Law, An International Journal, (7):3-48, 1992. [SS96]
L. Sciavicco and B . Siciliano. Modeling and control of robot maniulators. McGraw-Hill, USA, 1996.
[Sut88] R. S. Sutton. Learning to predict by the method of temporal differences . Machine Learning , 3:9-44, 1988. [Syc88] K. Sycara. Using case-based reasoning for plan adaptation and repair. In Case-Based Reasoning Workshop, DARPA, pages 425434. Morgan Kaufmann, 1988.
[Sch82] R. Schank. Dynamic Memory: A Theory of Reminding and Learniny in Computers and People. Cambridge University Press. 1982.
[TA77] A. N. Tikhonov and V. Y. Arsenin. Solutions of Ill-Posed Problems. V.H. Winston & Sons, John Wiley & Sons, Washington D.C., 1977. Translation editor Fritz John.
[SG87] L. C. Shiue and R. O Grondin. On designing fuzzy learning neural automata. In 1`laureen Caudill and Charles Butler, editors. IEEE First International Conferente on Neural Networks. volume II. pages 541-548, San Diego, California. June 1987. IEEE.
[Tay72] J. G. Taylor . Spontaneous behaviuor in neural networks . Journal of Theoretical Biology , 36:513-528, 1972.
[Sha89]
J. L. Shapiro. Hard learning in Boolean neural networks . In Proceedings of the Aleeting on Neural Computing, London. UK. 1989.
258
[Tei98]
R. Teixeira. Controle de um manipulador puma 560 através de redes neurais artificiais com adaptação on-line. Master's thesis, PPGEE-UFMG, 1998. 259
[TG91]
V. Tyba and K. Coser . Self-organizing feature maps for proccess control in chemistry. In International Conferente on Artificial Neural Networks -ICANN '91, pages 847-852, 1991.
[Tho11]
E. L. Thorndike . Animal Intelligence . Darien, 1911.
[TOD95]
A. Tickle , M. Orlowski , and J . Diederich . DEDEC: decision detection by rule extraction froco neural networks . Technical report,
[WD92]
C. J. C. H. Watkins and P. Dayan. Q-learning. Machine Learning Journal. 8(3/4), 1992. Special Issue on Reinforcement Learning.
[Wei90]
G \Veiss. Combining neural and evolutionary learning: aspects and approaches. Technical report, Technical University of \Iunich.
1990. [Wer74]
Queensland University of Technology, 1995. [TS92]
G. Tambouratzis and T. J. Stonham . Implementing hard selforganising tasks using logical neura 1 networks. In Proceedings of the ICANN. 92 Conferente , pages 643-646, Brighton , UK, September 1992 . Elsevier.
sity. 1974. [\Ver90]
L. Uebel, S. Botelho , and D . Barone. Contrôle inteligente de robôs móveis autônomos : RAM x Fuzzy. In Anais do II Simpósio Brasileiro de Redes Neurais , pages 43-48 , São Carlos , Brasil, outu-
bro 1995. [Utk78]
V . I . Utkin . Sliding modes and their application in Variable Struc-
P. Werbos. Backpropagation trough time: \Vhat it does and to do
it. In Proceedings of IEEE, volume 78, pages 1550-1560. 1990. [WH60]
(UBB95]
P. Werbos. Beyond Regression : New Tools for Prediction and Analysis in the Behavioral Sciences. PhD thesis, Harvard Univer-
B. Widrow and M.E. Hoff. Adaptative switching circuits. Institute of Radio Engineers, Western Electronic Show and Conrention, 1960.
[WHH +89] A. Waibel, T. Hanazawa, J.G. Hinton, K. Shikano. and K. Lang. Phoneme recognition using time-delas neural networks. IEEE.4SSP Magazine, 37:328-339, 1989.
ture Systems. MIR, Moscow, 1978.
VKR93]
S. Venkatamaran , R. Krishnan , and K . Rao. A rule-case based system for image analysis . In First European Workshop on Case-
[Whi89]
D. Whitley. The GENITOR algorithm and selection pressure: why rank-based allocation of reproductive trials is best. In 3rd International Conferente on Genetic Algorithms, pages 116-121. Morgan Kauffmann, 1989.
[Wi171]
D. J. Willshaw. Alodels of Distributed Associative lllemory. PhD thesis, University of Edinburgh, 1971.
[Wi195]
J. Wilder. Face recognition using transform coding of gray scale projections and the neural tree network. In Richard \Iammone, editor, Artificial neural networks for speech and vision, pages 520-
Based Reasoning, pages 410-415, 1993.
Wai89]
A. Waibel.
Modular construction of time-delay neural networks
for speech recognition . Neural Computation , 1:39-46, 1989. Wan90a]
E. A. Wan. Temporal backpropagation : An efficient algorithm for finite impulse response neural networks . In Proc. of the 1990
Connectionist Models Summer School, 1990. [Wan90b]
530. Chapman and Hall, 1995.
E . A. Wan. Temporal backpropagation for fir neural networks. In Proc. IEEE Int. Joint Conf. Neural Networks, 1990. [WP89]
R.J. Williams and J. Peng. Reinforcement learning algorithms as function optimizers . In International Joint Conference on NVeural Networks, volume 2, pages 89-95, Washington 1989 , 1989. IEEE, New York.
[WS88]
K Y. M. Wong and D. Sherrington . Storage properties of randomly connected Boolean ne ural networks for associative memore. Europhysics Letters, 7(3):197-202, 1988 .
[WBLH69] D.J. Willshaw , O.P. Buneman, and H . C. Longuet-Higgins. Nonholographic associative memory. Nature, 222, 1969.
[WC96]
B. Whitehead and T . Choate .
Cooperative-competitive genetic
evolution of radial basis function centers and widths for time series prediction. IEEE Transactions on Neural Networks , 7:869-880, 1996. 260
1
261
[WSE92] D. Whitley, J. Schaffer, and L. Eshelmau. Combinations of genetic algorithins and neural networks : a survey of Lhe state of the art. In I?•f•cr-nati.onal Confeicn•cc on. ('ontbi.n.n.ti,oii •, n/' grvu.rti.r algori.th.in.ti and neural networks, pages 1--37. IEEE Press, 1992.
[WZ89] R.J. Williams and D. Zipser. A learning algorithin for continually running fully recurrent neural networks. Neural Computation, 1:270-280, 1989. [XJH95] L. Xu, M. Jordan, and G. Hinton. An alternative model for mixtures of experts. In G. Tesauro, D. S. Touretzky, and T. K. Leen, editors, Advances in Neural Information Processing Systems 2, pages 633-640. Morgan Kaufmann, 1995. [YKC89] A. L. Yuille, D. M. Kammen, and D. S. Cohen. Quadrature and developmeiit of orientation selective cortical cells by hebb rules. Biological Cybernetics, 61:183-194, 1989. [Yod94] M. Yoda. Predicting the tokyo stock market. In G. Deboeck, editor, Trading on the Edge: Neural, Genetic and Fuzzy Systems for Chaotic Financial Markets, pages 66-79. John Wiley & Sons, 1994. [Zad71] L. A. Zadeh. Toward a theory of fuzzy systems. In R. E. Kalman and N. DeClaris, editors, Aspects of network and systern, theory, pages 469-490. Rinehart and Winston, 1971. [ZGLC95] E. Zalama, P. Gaudiano, and J. Lopez-Coronado. A real-time, unsupervised neural network for the low-level control of a mobile robot in a nonstationary environment. Neural• Networks, 8:103123, 1995.
262
c••••••^•r••••••••••e •••••••••••••c ^^/.N^^^II I^I\I ■ II1111^^
I1111^^^1^1
/^
r
i