Sistemas Híbridos Inteligentes Teresa Bernarda Ludermir Centro de Informática - UFPE 1 O que é um sistema híbrido? Híbridos Definição: o que é heterogêneo em orígem ou composição (latin) Biologicamente híbridos Várias espécies vegetais são híbridas de outras espécies ou plantas Tecnologicamente híbridos Sistemas inteligentes utilizando diferentes métodos de processamento de informação 2 Técnicas de IA Redes Neurais Raciocínio Baseado em casos Schemata Lógica Fuzzy Raciocínio Baseado em Regras Outras Algoritmos Genéticos Redes Semânticas Programação Lógica 3 Por que sistemas híbridos? Toda técnica de IA tem suas vantagens e desvantagens para resolver diferentes tipos de problemas Técnicas atuais ainda estão muito distantes da capacidade de processamento dos seres humanos Existem problemas complexos de IA que não podem ser resolvidos, facilmente, com as técnicas atuais 4 Por que sistemas híbridos? Os sistemas inteligentes coletivamente possuem características como: habilidade de aprendizagem, adaptação às mudanças, capacidade de explanação e flexibilidade para lidar com informações imprecisas e incompletas, etc. Nenhuma técnica inteligente por si só possui todas essas características. As limitações e pontos fortes de cada uma das técnicas inteligentes é a força motriz por trás dos sistemas inteligentes híbridos. Ao integrar as técnicas inteligentes podem ser aumentados os pontos fortes e reduzidos os pontos fracos do sistema inteligente. 5 Sistemas Inteligentes Híbridos O teorema da Inexistência de Almoço Grátis O No-Free-Lunch Theorem (NFL) afirma que todos os algoritmos de busca têm exatamente o mesmo desempenho, quando faz-se uma média através de todos os infinitos problemas existentes. 6 Objetivo de sistemas híbridos Integração de diferentes técnicas de processamento de informações em um sistema para resolver problemas em domínios onde nenhuma das técnicas originais (tradicionais) tem sido aplicada com sucesso 7 Razões para a criação de Sistemas Híbridos Aperfeiçoamento das técnicas: Integração de diferentes técnicas para superar as limitações de cada técnica. Aqui o objetivo é tomar uma técnica que tem um ponto fraco em dada propriedade e combiná-la com uma técnica que tem a força, nessa mesma propriedade. Aplicação em múltiplas tarefas: Quando nenhuma técnica está disponível para os muitos subproblemas de uma determinada aplicação, então um sistema híbrido é utilizado. Percepção de multi-funcionalidades: Sistemas híbridos podem exibir várias informações das capacidades de processamento dentro de uma arquitetura. 8 Problemas de implementação Diferentes representações de conhecimento Conhecimento estruturado versus não estruturado Regras Casos Bases de dados Dados numéricos 9 Problemas de implementação Processos de inferência diferentes Serial Processamento paralelo distribuído Não existe, atualmente, nenhuma abordagem genérica para combinar diferentes esquemas de representação de conhecimento e processos de inferência 10 Foco de pesquisas em SHIs combinar técnicas fortemente baseadas em dados (e.g., RNAs) com técnicas que se utilizam de conhecimento (e.g., Lógica Fuzzy) 11 IA simbólica Pode contribuir com: Teoria rígida para manipulação de símbolos – prova de teoremas. Mecanismos rigorosos e exatos de raciocínio, incluindo raciocínio encadeado. Modelo de computação universal (e.g., regras de produção). 12 IA simbólica Dificuldades: Aquisição de conhecimento. Elicitação de conhecimento de grandes massa de dados coletadas previamente. Representação de dados e conhecimento incompleto, ambíguo, com ruído, etc. Processamento de raciocínio aproximado. 13 Sistemas Fuzzy Podem contribuir com: Teoria de lógica fuzzy bem-definida. Mecanismos de raciocínio similar ao do ser humano, através do uso de termos lingüísticos. Acomodação de conhecimento de senso comum, conhecimento ambíguo e conhecimento impreciso mas racional. Técnicas de aproximação universal. Robustez, tolerância a falha. Baixo custo de desenvolvimento e manutenção. 14 Sistemas Fuzzy Dificuldades: Geração das regras fuzzy a partir do conhecimento do especialista. Definição das funções de pertinência são em geral baseadas num avaliação subjetiva do especialista. Inexistência de técnicas de aprendizado. 15 Redes Neurais Artificiais Podem contribuir com: Aprendizado a partir de dados Modelagem empírica do comportamento humano. Técnicas de aproximação universal. Métodos de extração de conhecimento a partir dos dados. Memórias associativas e técnicas de casamento de padrão. Paralelismo massivo. Robustez. 16 Redes Neurais Artificiais Dificuldades: Longo tempo de treinamento. Inexistência de um mecanismo explicativo. Falta de um mecanismo automático e eficiente para auxiliar o desenvolvedor no projeto da rede. 17 Algoritmos Genéticos Podem contribuir com: Conhecimento matemático aprofundado do problema considerado não é necessário. Parâmetros de funções objetivos com superfícies complexas e complicadas são otimizados de tal forma a reduzir a incidência de mínimos locais. Paralelismo entrínsico. Tolerância a ruídos e dados incompletos. Flexibilidade para trabalhar com restrições arbitrárias e otimizar múltiplas funções com objetivos conflitantes. Facilmente hibridizados com outras técnicas e heurísticas. 18 Algoritmos Genéticos Dificuldades: Custo computacional na avaliação do indivíduo. Codificação geralmente intricada do genótipo para o fenótipo. Convergência prematura. 19 Paradigmas são complementares Facilitam a manipulação de diferentes tipos de representação de conhecimento, inferências, precisão e tolerância à falhas. Cada um deles pode ser superior ao outro na resolução de uma sub-tarefa de um problema; por exemplo, as abordagens simbólica e conexionista (RNAs) têm mostrado força em resolver tarefas diferentes. O primeiro vem sendo usado em tarefas cognitivas de mais alto nível (e.g., planejamento), enquanto o segundo tem obtido mais sucesso em tarefas de mais baixo nível 20 (e.g., percepção) e aprendizado. Exemplos de melhoras Regras (fuzzy ou não) podem ser utilizadas para inicializar a estrutura de uma RNA a fim de acelerar o treinamento e melhorar a generalização. RNAs podem ser utilizadas para aprender regras (fuzzy ou não). RNAs podem ser usadas para refinar regras (fuzzy ou não) e funções de pertinência fuzzy. 21 Exemplos de melhoras AGs podem ser empregados para aprender regras fuzzy e funções de pertinência a partir dos dados. AGs e simulated annealing podem ser usados para ajustar a topologia e os pesos de uma rede neural artificial, ao invés de usar o tradicional algoritmo de gradiente descendente. RNAs e AGs podem ser utilizados como parte de uma máquina de raciocínio simbólico. 22 Classificação dos SHI Tipo I: Substituição de Função Tipo II: Híbridos Intercomunicativos Tipo III: Híbridos Polimórficos 23 Tipo I: Substituição de Função Function Replacing: nessa categoria, uma técnica é usada para implementar uma função de outra técnica. Essa forma de hibridismo não acrescenta nenhuma funcionalidade ao sistema inteligente, apenas tenta superar alguma limitação da técnica principal ou otimizar sua execução. Como exemplo, se pode citar o uso de algoritmos genéticos para otimização dos pesos de uma rede neural. 24 Tipo II: Híbridos Intercomunicativos Intercommunicating Hybrids: esta é a categoria de sistemas híbridos usada para resolver problemas complexos que possam ser divididos em várias subtarefas independentes. Assim, o sistema híbrido é formado por módulos independentes, onde cada um usa uma técnica inteligente para resolver uma das sub-tarefas do problema principal. Como exemplo, se pode citar o sistema EITHER [R. Mooney e D. Ourston 1994], que usa módulos independentes de raciocínio indutivo, dedutivo e abdutivo para revisar claúsulas de Horn. Cada tipo de raciocínio foi implementado com uma técnica especifica. 25 Tipo III: Híbridos Polimórficos Polymorphic Hybrids: nessa categoria, uma única técnica é adaptada para realizar uma tarefa inerente a uma outra técnica. A motivação dessa categoria é descobrir novas funcionalidades de uma técnica e entender como diferentes técnicas podem se relacionar. Como exemplo, se pode citar o uso de RNAs para raciocínio simbólico – manipulação de regras [V. Honavar e L. Uhr, 1995] e [V. Ajjanagadde e L. Shastri, 1995]. 26 Ciclo de desenvolvimento de SHs Analise do problema Casamento das propriedades Seleção da categoria de hibridismo Implementação Validação Manutenção 27 Analise do problema Identificar sub-tarefas Identificar propriedades 28 Casamento de propriedades Aquisicao de conhecimento Brittleness (fragilidade) tarefas cognitivas de alto e baixo nivel (raciocinio) explicação 29 Técnica SE Ind Regras Fuzzy NN GA Aquisição 1 3 1 5 5 Brittleness 1 2 5 5 3 Alto 5 3 3 1 3 Baixo 1 2 5 5 3 Explicação 5 3 4 1 3 30 Selecao da cateogoria de hibridismo Tipo I: Substituição de Função Tipo II: Híbridos Intercomunicativos Tipo III: Híbridos Polimórficos 31 Projeto Evolucionário de Redes Neurais Artificiais Definição da arquitetura de uma rede neural Métodos de otimização global podem ser empregados no treinamento das RNAs Otimização dos parâmetros dos algoritmos de treinamento a serem utilizados 32 Por que utilizar AGs ? Problemas das RNA Não existe um conjunto de regras para definir melhor rede para um dado problema Modelo Estrutura Parâmetros de aprendizado Conhecimento empírico, baseado na experiência 33 Por que utilizar AGs ? Universo de possíveis modelos é extremamente grande Problemas de laboratório e problemas práticos Maioria do espaço de busca de redes é largamente inexplorado Não é prático avaliar manualmente uma variedade razoável de arquiteturas “Uma boa arquitetura” depende da aplicação 34 Por que utilizar AGs ? Quantidade significativa de experimentação manual baseada em tentativa e erro é necessária até obtenção da performance adequada Nenhuma tentativa relevante é realizada para determinar as arquiteturas ótimas Maioria das aplicações adotam estruturas simples e valores conservadores para parâmetros de aprendizado 35 Por que utilizar AGs ? O problema de otimização da estrutura de uma RNA para um dado conjunto de critérios de performance é complicado Grande número de variáveis, discretas e contínuas, interagem de uma forma complexa Avaliação de uma estrutura não é uma tarefa direta Eficácia do treinamento depende das condições iniciais, que são geralmente randômicas Problema sob medida para algoritmos genéticos 36 Como aplicar AGs em RNA s? AGs podem ser aplicados ao problema de projeto de RNAs de várias formas: Treinar uma rede, com uma dada estrutura Aplicar restrições a matriz de conexões de RNAs a serem treinadas com backpropagation Descobrir estrutura, tamanho e parâmetros de aprendizado da rede 37 Como aplicar AGs em RNAs? Depende dos aspectos a serem investigados Desenvolvimento de uma ferramenta para definir melhor rede para um dado problema Descobrir novas evidências que possam contribuir para a melhor compreensão teórica do projeto de RNAs Que tipos de estruturas “sobreviverão” dado um conjunto de condições Não informa porque estrutura falhou, mas mostra os fósseis gerados 38 Como aplicar AGs em RNAs? Aspectos a serem considerados Codificação da rede Espaço de arquiteturas de rede a ser explorado Adaptação dos operadores genéticos para que sejam geradas redes sem problemas de validade Forma da função de aptidão 39 População População inicial: conjunto de redes aleatóriamente gerado (30 < P < 100) Estrutura de cada rede é codificada em um cromossomo Genes determinam propriedades anatômicas da rede e valores de parâmetros para algoritmo de aprendizado Cada rede é treinada com backpropagation 40 Aptidão Função de aptidão Combinação de medidas consideradas importantes para o problema Velocidade de aprendizado Precisão requerida Fatores de custo Tamanho Complexidade Melhora progressiva da eficiência da RNA 41 Codificação Aspectos críticos: Classes de arquiteturas a serem geradas Funcioamento dos processos de Codificação Decodificação Espaço de busca 42 Codificação Desenvolver uma representação para RNA é um dos principais problemas Existem diversas formas de parametrizar organização e operação da rede Parâmetros podem incluir Número de camadas Números de unidades em uma camada Número de conexões feedback permitidas Grau de conectividade de uma camada para outra Taxa de aprendizado Termo de erro utilizado ma regra de aprendizado 43 Codificação Codificação pode ser Direta Especifica cada um dos parâmetros das redes Requer pouco esforço de codificação Indireta Descrição abstrata ou gramatical Pode pré-estruturar as redes (para excluir arquiteturas não factíveis) maior esforço para decodificação 44 Codificação Representação deve: Capturar todas as redes potencialmente interessantes (eficientes) Excluir estruturas de redes não válidas ou sem sentido Representação pode ter tamanho variável Permite aumentar espaço de busca Limitar pontos de “quebra” dos cromossomos 45 Codificação É vantajoso definir o menor espaço de busca possível de arquiteturas que é certo de incluir a melhor solução para o problema dado Esquema de representação deve ser fechado Crossover ou mutação de cromossomos representando redes válidas deve produzir redes válidas Trade-off poder de expressividade X admissão de redes não válidas ou não interessantes 46 Reprodução Operadores Genéticos Crossover Limitação dos pontos de “quebra” dos cromossomos Mutação Limitação das alterações possíveis Refinamento Eliminar arquiteturas não factíveis 47 Reprodução Refinamento Garante com que as redes geradas sejam válidas Elimina indivíduos com características indesejáveis Cromossomos com pequenas anormalidades são purificados quando decodificados para RNA Partes do cromossomo com problemas podem ser mantidas ou eliminadas 48 Extração de regras Potencial completo das RNA não poderá ser utilizado sem a capacidade de explicação Problema: inabilidade da rede para explicar, de forma compreensiva, seu processo de tomada de decisão Desejável (essencial) que uma capacidade de explicação seja parte da funcionalidade de uma rede treinada 49 Extração de regras Capacidade de explicação é obrigatória em sistemas críticos Validar a saída da rede sob todas as condições possíveis de entrada Exemplos: Sistema de navegação de aviões Usinas hidroelétricas e nucleares Diagnóstico médico 50 Extração de regras Definição Dada uma Rede Neural treinada e os exemplos utilizados para treiná-la, produzir uma descrição simbólica curta e precisa da rede, Shavlik, 1994 Custo Recursos utilizados Esforço adicional 51 Extração de regras Benefícios da extração de regras Exploração dos dados e indução de teorias científicas Inclusão da capacidade de explicação ao usuário Melhoria na generalização das soluções da rede Facilitar integração com modulo simbolico 52 Extração de regras Classificação dos algoritmos de extração de regras Generalidade do algoritmo Geral Especifico Fonte das regras 53 Extração de regras Fonte das regras Abordagem decomposicional Extrai regras das unidades individuais (intermediárias e de saída) de uma rede treinada Abordagem pedagógica (ou caixa preta) Extrai regras que mapeiam as entradas nas saídas Abordagem eclética Combinação das abordagens anteriores 54 Técnica Decomposicional As regras são extraídas considerando todas as unidades de processamento da rede; Os conseqüentes das regras (Parte Então) são obtidos das unidades de saídas, cujos valores são geralmente codificados em 0 ou 1 (forma booleana); Já os antecedentes das regras (Parte Se) são obtidos de uma combinação das unidades escondidas com as unidades de entrada. 55 Exemplos Decomposicional Algoritmo KT (L.M. Fu); SUBSET (G.G. Towell e J.W. Shavlik); RuleNet (C. McMillan et ali.); M-of-N (G.G. Towell e J.W. Shavlik); Rulex (R. Andrews e S. Geva). 56 Técnica Pedagógica ou Didática A visão geral da RNA é opaca; Geralmente considera-se essa extração de regras como uma tarefa de aprendizado; O conceito alvo é a função computada pela rede; Mapeia as entradas diretamente nas saídas da rede; Tipicamente é usada em conjunto com outras técnicas ou algoritmos de aprendizado simbólico. 57 Exemplos Análise-VI ou VIA (Validity Interval Analysis - S.B. Thrun); RULENEG (E. Pop et ali.); DEDEC (Decision Detection by Rule Extraction from Neural Networks - A.B. Tickle et ali.). Literal (Campos) 58 Técnica Eclética ou Combinacional São compostos elementos das técnicas decomposicional e pedagógica; Pode-se considerar o conhecimento sobre a arquitetura interna e/ou vetores de pesos da RNA treinada para complementar um algoritmo de aprendizado simbólico; Geralmente usa-se uma das duas técnicas já citadas para obter-se os antecedentes das regras e a outra técnica para determinar-se os conseqüentes. 59 Exemplos Extração de Regra como Aprendizagem (M.W. Craven e J.W. Shavlik). Algoritmo FuzzyRulext (L.M. Brasil) ProRulext (Campos) 60 Logica Fuzzy e Redes Neurais Abordagem hibrida mais comum Sistema Fuzzy com caracteristicas neurais Incorpora conceitos de Redes Neurais em Sistemas Fuzzy Definição de funções de pertinencia Definição funções de ativação Redes Neurais Fuzzy Incorpora conceitos de Sistemas Fuzzy em Redes Neurais 61 Otimizacao de Redes Neurais Uma Metodologia para Otimização de Arquiteturas e Pesos de Redes Neurais 62 Pesquisa futura Métodos formais para validação e verificação de sistemas complexos Técnicas para integração de diferentes paradigmas computacionais Métodos para representação de vários tipos de conhecimento Conexões para fenômenos cognitivos Ferramentas para implementação eficiente Aplicações do mundo real para ganhar experiência 63 Pesquisa futura Projeto de RNAs como compilação de conhecimento introdução nas RNAs do conhecimento específico do problema abordado Mecanismo explicativos para RNAs algoritmos para extração de regras Aprendizado conexionista como assimilação de conhecimento novas regularidades recém-descobertas podem ser usadas para aumentar ou revisar a teoria de domínio 64 Estudo de casos Krovvidy e Wee utilizaram RBC para definir a configuração inicial de uma rede de Hopfield Definir a seqüência de processos químicos em um sistema de tratamento de esgoto Malek propõe um sistema de indexação para RBC no qual foi construído na memória uma hierarquia de casos em dois níveis Rede incremental baseada em protótipos 65 Estudo de casos Reategui utiliza uma RN para aprender padrões de similaridade entre casos de um sistema de RBC Avaliação psicológica de candidatos à transplante de coração 66 Estudo de casos Reategui extraiu conhecimento da RN para suportar raciocínio do RBC Sistema para classificação de transações de cartão de crédito Milaré utilizou uma rede ART para indexação e adição de casos Sistema para culinária 67 Estudo de casos NeuroGENESYS Foi utilizado para Reconhecimento de caracteres XOR Aproximação da função seno Encontrou estruturas melhores que aquelas obtidas por abordagem empírica Redes adequadas foram produzidas após menos que 50 gerações 68 Estudo de casos Neuroevol Foi utilizado para: Análise de crédito Encontrou estruturas melhores que aquelas obtidas por abordagem empírica Redes adequadas foram produzidas após aproximadamente 10 gerações Otimização de Redes do tipo RBF 69 Outras combinações Redes Neurais com Lógica Fuzzy A mais comum Redes Neurais com Estatística Combinação de classificadores Classificadores simbólicos e estatísticos Redes Neurais com Linguagens Formais 70 Trabalhos Futuros Métodos formais para lidar com validação e verificação de sistemas complexos Métodos para a integração de diferentes paradigmas computacionais Métodos de representação que possam ser utilizados para vários tipos de conhecimento 71 Trabalhos Futuros Conexões para fenômenos cognitivos Ferramentas para implementação eficiente Aplicações do mundo real para ganhar experiência 72 Projetos de pesquisa e comerciais HANSA Framework (ferramentas) HAREM (sistemas de gerenciamento) MIX (combinação de técnicas neurais e conexionistas) Charles River Analytics (Opensesame, NueX) Gensym (G2, NeurOnline) OMRON Advanced Systems Talarian (RTworks) 73 Mais informações Visão geral http://ww.cis.njit.edu/franz/Hybrid-Systems.html Produtos comerciais http://www.opensesame.com http://www.gensym.com http://oas.omron.com http://www.mainstreet.net:3080//rtworks.htm http://www.neural.com:80/realhome.html 74 Mais informações International Journal of Hybrid Intelligent Systems (IJHIS) International Conference on Hybrid Intelligent Systems http://ijhis.hybridsystem.com/ ou www.iospress.nl/html/14485869.php 75 Mais informações International Journal of Computational Intelligence (IJCI) www.enformatika.org/journals/1304-2386/ 76 Mais informações Self-organizing mixture models Neurocomputing Volume 63 , January 2005, Pages 99-123 Meta learning evolutionary artificial neural networks. Ajith Abraham Neurocomputing Volume 56 , January 2004, Pages 1-38 77