Inteligência? ? que uar B io a and l o de H r, a nde de e r p e de a ender e d r e a p culd e com udeza a f g d a “ É cidade -se, é a ia. ” r c a cap adapta rspicá pe él Au r ___________________ Antonio G. Thomé - 98 A história da pesquisa em IA não é tão recente quanto se possa pensar. Na realidade, muito antes dos computadores surgirem, o homem ansiava por conhecer os mistérios do seu próprio cérebro e tornar-se capaz de recriá-lo artificialmente. De uma maneira científica, pode-se dizer que as pesquisas em torno da capacidade cerebral do homem remonta há aproximadamente 40 anos de existência. Alguns dos resultados concretos obtidos até então incluem o reconhecimento da sua complexidade tanto estrutural quanto operacional, e a concientização de que Inteligência requer conhecimento e que este, geralmente, é volumoso, difícil de ser formalizado e está em constante mutação. As seguintes questões são sempre levantadas pela comunidade científica, sem que ainda se tenha resposta convincente para qualquer delas: 1. Como é projetado o cérebro humano? 2. Como o cérebro processa a informação? 3. Que algoritmos e aritmética usa o cérebro para realizar seus cálculos? 4. Como o cérebro cria imaginações? 5. Como o cérebro inventa ou gera inovações? 6. O que é pensamento? 7. O que são sentimentos? 8. Como o cérebro aprende e guarda conhecimento? 1 Inteligência Computacional **** Webster **** “ É o braço da Ciência da Computação que estuda formas de criar máquinas expertas, i.e. com capacidade de realizar funções normalmente associadas à Inteligência Humana. “ Emular a inteligência humana é o maior dos desafios para a ciência. ___________________ Antonio G. Thomé - 98 Vários cientistas no passado, incluindo Newton e Maxwell, motivaram suas pesquisas na tentativa de descobrir a arte e a ordem na criação do Universo, com a finalidade de conhecer a mente de Deus através de suas criações. Toda a invenção humana tem uma contrapartida ou é uma extensão própria da natureza. A engenharia faz uso das ciências e da matemática para modelar e construir artefatos que emulem e extendam artificialmente a natureza. Da mesma forma que os pássaros motivaram o surgimento da aviação, os mistérios da inteligência humana motivam hoje o estudo de avançados paradígmas computacionais. Os modelos computacionais que emulam a inteligência humana precisam ser cautelosamente classificados e descritos de forma a não gerarem expectativas em excesso. Assim, um programa em IA é aquele que se caracteriza pelo emprego de técnicas que o possibilitem: • realizar uma busca heurística da solução de um problema; • utilizar o conhecimento existente sobre o problema de forma explícita e implícita; • abstraír-se automáticamente das características pouco relevantes do problema; e • generalizar a solução para problemas parecidos que não tenham sido vistos nem utilizados no processo de modelagem. 2 Modelos de Inteligência Biológico Inerente ao ser humano e constituído pelo cérebro, pelos órgãos sensoriais e pela mente. Artificial Algoritmos computacionais que desenvolvem proces-samento numérico e simbólico, associados a bases de conhecimento extratificados. Computacional Algorítmos computacionais que desenvolvem apenas processamento numérico, com componente para reconhecimento de padrões e níveis de adaptabilidade, de tolerância à falhas e de auto-aprendizado. ___________________ Antonio G. Thomé - 98 Pesquisadores estimam a existência de aproximadamente 100 bilhões de neurônios no cortex cerebral do ser humano. Cada neurônio podendo tratar até 1000 estímulos simultâneos de entrada, o que traduz na capacidade do cérebro processar até 100 trilhões de estímulos simultâneos. Cada neurônio pode disparar até 100 vezes por segundo e, assim, o cérebro humano apresenta uma singela capacidade de processar até 10 000 trilhões de estímulos/seg. Maior que os maiores supercomputadores até hoje construídos pelo homem. Esta imensa capacidade de processamento torna-se ainda mais expressiva ao se constatar que o cérebro não pesa mais que 1.5 Kg e ocupa aproximadamente 300 cm3 (menos de 1/2 litro). Apesar do desafio quase desetimulante, pesquisadores se sentem motivados a buscar, com o auxílio do avanço tecnológico, a capacidade de emular algumas funções específicas do cérebro, seja ele humano ou animal, tais como: a visão (reconhecimento e interpretação de cenas específicas); a fala (reconhecimento e síntese); controle da locomoção e interpretação lógica de situações definidas. Observando as habilidades cérebrais dos humanos e mesmo dos animais mais simples como os insetos, podemos destacar algumas que embora sejam de execução até desapercebida, constituem verdadeiros desafios à tecnologia. 3 Inteligência Biológica a) Processamento de Estímulos conversão e manipulação qualificada e quantificada de fluxos de energia. b) Busca de Padrões Explícitos ___________________ Antonio G. Thomé - 98 O processamento da informação inicia pela capacidade seletiva de neurônios especializados captarem estímulos do mundo externo, e os converterem para processamento e manipulação por outras partes do cérebro. Observe e constate a relevância do papel desempenhado e a capacidade dos sistemas visual, auditivo, olfativo, tátil e da fala. A quantidade de sensores, receptores, transdutores e transmissores é enorme e todos operam de forma simultânea, alimentando o grande processador central. É importante notar que vários destes sistemas não são exclusivos do homem e, em termos absolutos, são até melhor operacionalizados por outras espécies. Captar ou gerar imagem e som, são habilidades de certa forma já sob domínio da tecnologia. Sistemas para captar o aroma e a sensação tátil ainda estão num estágio mais embrionário. Uma vez captada a cena exterior, o passo seguinte é associar a mesma a algum padrão previamente aprendido e armazenado na forma de conhecimento ou de experiência prévia. O padrões são aprendidos e armazenados, causam estímulo e reação. Os animais podem ser condicionados a reagir aos padrões de forma diversa ao seu instinto e o homem geralmente responde aos padrões em função da sua cultura e conhecimento. 4 Inteligência Biológica (cont...) Implícitos c) Generalização Associação, comparação, conclusão e aprendizado ano oce marinha ilha deser ta navio Coqueiro ___________________ Antonio G. Thomé - 98 Os padrões podem se apresentar de duas formas, isto é, podem ser explícitos, ou seja, visivelmente definidos, ou podem ser implícitos, imaginados, criados na mente ou deduzidos. Observe na figura acima a imagem do quadrado criada pela ilusão de ótica e a capacidade que temos de extrair padrões visuais de imagens complexas. Inúmeras são as habilidades impressionantes do cérebro e notem que várias delas realizamos de forma aparentemente automática sem siquer apercebermos da sua complexidade. De todas as habilidades no entanto, aquela que distingüe o homem das demais espécies e nos garante uma posição de predomínio, é a capacidade de extrair conhecimento e experiência dos padrões vivenciados. Só o homem é capaz de gerar padrões novos, não vivenciados, isto é de comparar, associar, aprender, concluir e generalizar. Esta, sem dúvida, será a última habilidade reproduzida , se algum dia o homem conseguir desenvolver tecnologia para tal. 5 Modelos Computacionais • Tratamento de Incertezas Lógica Nebulosa (Fuzzy) • Seleção Natural • Forma de Raciocínio Sistemas Especialistas Resolução de Problemas • Estrutura do Cérebro Redes Neurais Algoritmos Genéticos • Sistemas Híbridos ___________________ Antonio G. Thomé - 98 Resolução de Problemas: é a utilização de técnicas heurísticas de busca na resolução de casos específicos. Geralmente aplicada na resolução de jogos complexos como xadrez, velha, gamão e outros. Sistemas Especialistas: é a utilização explícita do conhecimento específico do perito humano em determinado assunto que, após extratificado e armazenado em uma base de conhecimentos, é manipulado de forma automática por um programa de computador. Geralmente utilizados em Sistemas de Apoio para Decisão, Diagnóstico e Análise. Lógica Nebulosa (Fuzzy): implementa o raciocínio vago e impreciso do ser humano pela adoção de uma escala gradual e contínua de valores entre 0 e 1, para simular os diferentes graus de incerteza entre o Sim e o Não da lógica binária. Geralmente utilizados em mecanismos de servo-controle. Algoritmos Genéticos: fazem uso dos princípios de seleção e evolução natural das espécies introduzido por Charles Darwin. Segundo este paradígma, a melhor solução para um determinado problema sobrevive e destaca-se das demais, após um número razoável de gerações, graças ao seu melhor grau de aptidão e adequabilidade ao problema. 6 Aplicações Problemas que envolvam: •complexidade •incerteza •ambigüidade Co ntr Apoio a e d s a ole Decisão istem S s o g Jo Processam ento de to l n e atura im N c e m uage onh de Padrões Ling Rec Processamento de Sinais ___________________ Antonio G. Thomé - 98 Redes Neurais (ou Neuronais): são modelos computacionais que emulam a estrutura e o funcionamento do cérebro humano. Através de uma rede de neurônios (elementos de processamento muito simples) altamente interconectada e paralela são capazes de realizar reconhecimento de padrões e aproximação de funções. Sistemas Híbridos: sistemas computacionais que integram dois ou mais dos paradígmas anteriores na busca de um modelo mais adequado para a solução de problemas reais de alto nível de complexidade. 7 REDES NEURAIS ? O M O C NC U F AM N IO ? ? O E QU O SÃ ? PARA QUE SERVEM ? ___________________ Antonio G. Thomé - 98 Redes Neurais, dentre as diferentes técnicas aqui discutidas e que compõem o elenco da Inteligência Computacional, será aquela que estudaremos com maior profundidade neste curso. Considerando a abrangência do tema no que tange aos diferentes modelos hoje existentes na literatura, as restrições de contexto teórico naturais em um curso de graduação, e a disponibilidade de tempo, o conteúdo programático previsto será limitado aos conceitos e fundamentos básicos do assunto. Neste semestre termos como objetivos principais mostrar o que são as redes neurais, como funcionam alguns dos seus modelos e para que servem. Esperase que com isto, seja possível desenvolver alguns experimentos práticos bem como despertar o interesse para a continuidade do estudo do assunto em etapas posteriores do projeto de formação e especialização de cada um. Com base nestas premissas e objetivos, veremos a seguir os conceitos básicos e fundamentais que suportam os modelos neurais e depois, aprofundaremos o assunto no estudo dos modelos Perceptron, Adaline, Madaline e Multicamadas. 8 O que são? Redes Neurais são Sistemas Computacionais formados pela integração de inúmeros Elementos de Processamento (EP) muito simples, altamente interconectados e trabalhando massivamente em paralelo. São inspiradas no modelo biológico do cérebro humano ___________________ Antonio G. Thomé - 98 Redes Neurais diferem completamente de qualquer outra forma de algoritmo computacional, seja ele convencional, orientado a objeto, sistemas especialistas e etc. O paradigma neural não faz uso dos conceitos que até então caracterizam os demais algoritmos e sistemas computacionais. Uma rede neural pode ser integralmente implementada em Hardware, os chips neurais são objeto de intensa pesquisa em grandes universidades americanas e muito em breve serão realidade em muitas aplicações e produtos comerciais. No Japão é comum encontrar-se hoje eletrodomesticos sendo lançados com recursos de auto-controle por eles chamados neuro-fuzzy (Sistemas híbridos combinando redes neurais e lógica nebulosa - fuzzy). Numa rede neural não se tem a idéia de programa, onde o programador introduz e codifica a estratégia de solução do problema, também não se tem a idéia de um conhecimento explícitamente armazenado e que conduza a busca na resolução do problema. A rede é dinâmica, não possui memória, “pelo menos no estilo convencional que conhecemos”, não acessa nem possui arquivos de dados, e não é programável. Uma rede neural ajusta a si própria (“aprende”) com base em fatos históricos. 9 Breve Histórico • 1943 - McCulloch e Pits Estudo do Neurônio • 1962 - Rosemblat O Perceptron • 1963 - Bernard Widrow Filtros Adaptativos • 1969 - Minsky e Papert Crítica aos Perceptrons • 1982 - John Hopfield Resgata Interesse em RNs • 1986 - Rumelhart Alg. Backpropagation • 2000 - ???? ? ___________________ Antonio G. Thomé - 98 Em 1943 McCulloch e Pits propõem o modelo matemático (artificial) do neurônio bilológico. O campo de atuação estava limitado ao entendimento do funcionamento do cérebro para aplicações em medicina e psicologia. Aproximadamente 20 anos após, Rosemblat vislumbra a primeira rede neural chamada de Perceptron. O fato causou frenesí no meio científico da época e expectativas muito acima das possibilidades foram espalhadas e divulgadas no seio da sociedade. “O cérebro humano finalmente chegava aos computadores”. Em 1969 Minsky e Papert, que pertencia ao ramo convencional da IA e provávelmente tocados por uma pitada de ciúmes quanto ao sucesso de Rosemblat, estudaram a fundo o modelo do Perceptron e descobriram restrições que colocavam água na fervura dos novos “ricos”. Minsky e Papert publicaram então um livro intitulado “Os Perceptrons” onde “mataram a cobra e mostraram o pau” como na gíria popular. Em função disto, as pesquisas e os entusiasmados com a nova onda reduziram-se a quase zero. Somente em 1982, mais de uma década depois, que surge um fato novo trazendo luz outra vez para o então pequeno mundo das redes neurais. A partir de Hopfield o interesse por redes neurais vem crescendo sistemáticamente, ganhando impulso ainda maior com o algoritmo de backpropagation proposto por Rumelhart em 1986. 10 Um Paralelo com o Cérebro Inspiradas na estrutura do cérebro, são radicalmente diferentes dos demais sistemas computacionais s rito d n de axônio corpo celular ___________________ Antonio G. Thomé - 98 __ >_ modelo biológico w f (.) modelo artificial Nos animais, o sistema nervoso é responsável por receber estímulos do ambiente externo, que são colhidos pelos órgãos sensores, que também se encarregam de transcodificá-los e encaminhá-los para as células cerebrais. Estas, por sua vez, processam e interpretam os impulsos recebidos e encaminham reações para os órgão responsáveis pela sua execução. O sistema nervoso do homem é composto por cerca de 100 bilhões de células interligadas em uma rede da ordem de 100 trilhões de interconexões, por onde fluem os impulsos elétricos que carregam a informação sendo processada. Um neurônio típico constitui-se de um corpo celular, de ramificações por onde entram os impulsos nervosos, chamadas de dendritos, e de uma ramificação de saída, chamada axônio. O axônio de um neurônio pode ligar-se a vários dendritos de diversos outros neurônios (estas ligações são chamadas de sinapses). Assim, os dendritos recebem os impulsos vindos dos órgãos sensores ou de neurônios anteriormente posicionados na rede de interconexão, e os repassam ao corpo celular. Ali, através de uma série de processos físico-químicos, os impulsos recebidos são processados e um novo impulso é gerado e transmitidos para frente através do axônio. 11 Capacidade Cerebral 100 trilhões de interconexões I n t e r c / S e g 1018 1015 Homem (1014,1016) Abelha 1012 Barata Mosca 109 106 103 Minhoca Sanguessuga 103 ___________________ Antonio G. Thomé - 98 106 109 1012 Número de Interconexões Os neurônios artificiais são, na realidade, uma abstração e um modelo matemático bastante simplificado de um neurônio biológico. Fato este ocasionado não só pelas restrições tecnológicas existentes mas também pelo pouco conhecimento que a ciência possui hoje dos mistérios do nosso cérebro. As redes neurais hoje existentes sofrem restrições tecnológicas de toda sorte e com isto não se consegue implementar estruturas com um número de neurônios que aproxime siquer ao do existente no cérebro de uma minhoca. Mesmo com estas restrições, a área de redes neurais tem demonstrado sua potencialidade em diversas aplicações, superando expectativas e resultados até então alcançados com qualquer outra técnica, seja computacional ou convencional. Até criarmos o computador que realmente simule e tenha a capacidade de raciocínio do ser humano muito ainda tem que ser feito, uma vez que animais inferiores como a minhoca e mesmo a sanguessuga, são capazes de apresentar reações que o mais rápido dos supercomputadores hoje existente é incapaz de fazer. A rede neural hoje, é vista como um paradigma com possibilidade de nos proporcionar uma redução neste gap e uma aproximação maior daquilo que hoje ainda está no mundo da ficção científica. 12 Modelo Matemático do Neurônio x1 w1 x2 Função de Ativação w2 Função de Propagação y w3 x3 y = f ( X , W ) = P • A( X , W ) ___________________ Antonio G. Thomé - 98 Na sua tarefa de emular a estrutura e o funcionamento básico do cérebro, as redes neurais fazem uso de um modelo abstrato (matemático) do neurônio cerebral. No modelo de neurônio artificial, a intensidade das ligações proporcionadas pelos dendritos são emuladas através de pesos, que são ajustáveis durante a evolução do treinamento e “aprendizado” da rede. O corpo celular é emulado pela composição de duas funções, chamadas comumente na literatura de ativação e propagação. Estas funções realizam o mapeamento (transferência) dos sinais de entrada em um único sinal de saída. Este sinal de saída é propagado para os neurônios seguintes da rede, como no modelo biológico. A função de ativação opera nos sinais de entrada e gera uma saída intermediária, normalmente chamada de net, que num paralelo com o modelo biológico estabeleceria o estado de ativação do neurônio e sua capacidade de disparar algum sinal excitador ou inibidor para os neurônio a sua frente. Os pesos, na maioria das arquiteturas de rede hoje propostas, são ajustáveis e, na realidade constituem a memória e no conhecimento usado na solução do problema. 13 Resolução de Problemas • • • • • • Identificar o Problema; Entender o Problema; Formular um Procedimento de Solução; Coletar / Organizar / Formatar Dados Representativos; Implementar o Procedimento de Solução; Testar e Corrigir o Modelo. O quê fazer quando? Þ Þ Þ Þ Þ Þ não se conhece um procedimento de solução, ou a solução é muito complexa, ou os critérios de decisão são imprecisos, ou os dados são incompletos, ou os dados são afetados por perturbações aleatórias, ou os dados não possuem uma forma (padrão) definido. ___________________ Antonio G. Thomé - 98 Como já deve ter sido notado por todos, a cada evolução surgida nas técnicas ou nos equipamentos de computação, corresponde um acrescimo e uma nova dimensão da demanda pelos mesmos. Trata-se de um efeito natural e até característico da personalidade e do espírito de investigação do ser humano. Quanto mais ele conquista e tem, mais quer. O computador e com ele a informática são vistos hoje não mais como um fim em si mesmos, mas como uma ferramenta de suporte e de excelência a todos os demais ramos e áreas de conhecimento humano. Problemas cada vez mais complexos, abrangentes e diversificados aparecem como desafio para os programadores. As próximas décadas, primeiras do novo milênio, se caracterizarão por trazerem demandas consideradas não triviais que demandarão novos paradigmas e técnicas de solução. Dentre estes problemas estarão aqueles envolvendo o tratamento de dados não completos, dotados de ambigüidade, ruído e imprecisão. As soluções por outro lado, não serão esperadas exatas dos tipos sim ou não ou 0 e 1. 14 Modelo Convencional x Modelo Neural • Conhecimento – pré-estabelecido - extraído dos dados • Solução do Problema – definida – estática – código e dados - ajustada automaticamente - dinâmica - distribuído • Características – corretude – inflexibilidade – intolerância a falhas - aproximado - flexível - tolerante a falhas ___________________ Antonio G. Thomé - 98 Problemas envolvendo reconhecimento e classificação de padrões de dados do tipo multimídia (texto, som e imagem) serão cada vez mais comuns. Nesta área gravitarão os robôs, os sistemas de segurança audiovisuais, os sistemas de comando a voz, os sistemas de automação e etc. Sistemas tipo “data mining” e agentes inteligentes para educação baseada em computador e busca na Internet também se tornarão demanda pesada. Outro tipo de aplicação que também se mostra bastante promissora é a de previsão e de aproximação de funções. Os modelos neurais de hoje, juntamente com as demais técnicas conhecidas de inteligência computacional, podem não vir a ser a melhor solução para os tipos de problemas apontados acima, mas com certeza representam hoje o caminho e a esperança dos pesquisadores em encontrar a tecnologia e os métodos mais promissores e adequados para tal. 15 Resolução de Problema Reconhecimento de Dígitos 0 0 1 7 8 2 3 4 0 5 9 6 8 0 9 7 8 ? Domínio ___________________ Antonio G. Thomé - 98 9 Contra-Domínio Neste exemplo apresentamos o problema de reconhecimento da escrita a mão, no caso, o reconhecimento do dígitos de zero a nove. É um problema de grande interesse comercial, principalmente para os serviços de correio, que podem obter expressivos ganhos operacionais e de custos. Um sistema como este envolve: 1. a captura da imagem e sua digitalização, 2. a identificação da porção da imagem onde se localiza o CEP; 3. a segmentação dos diversos dígitos que compõem o CEP, 4. o reconhecimento de cada um dos dígitos encontrados, 5. a recomposição do código do CEP; 6. a validação do código reconhecido e, finalmente, 7. a execução das operações desejadas a partir do reconhecimento do CEP. E tudo isto deve ser feito de forma a atender o cliente no tempo de resposta que ele desejar ou necessitar. Trata-se portanto, de um sistema do tipo que pode ser enquadrado como não convencional. 16 Resolução de Problema Y X 0 0 1 Y = f (X) 7 8 caracterização do domínio 0 2 3 4 mapeamento desconhecido 9 consistência 5 6 ambigüidade 8 0 incerteza 9 Domínio ___________________ Antonio G. Thomé - 98 7 8 ruído Modelo Convencional 9 Contra-Domínio Como este, muitos outros sistemas semelhantes pode ser rapidamente pensados e, em conseqüência, nos certificarmos do tamanho da demanda reprimida, que hoje não se manifesta por não imaginar ser de resolução possível por um meio automatizado. É importante notarmos que o aparecimento dos modelos “inteligentes” não vai eliminar ou substituir aos modelos convencionais, mas pelo contrário, vai estimular a integração com estes. 17 O Modelo Neural Y X Não linear Numérico ^ Y - + S e Supervisionado • Mecanismo de Aprendizado Não Supervisionado Intensidade das Conexões • Regra de Aprendizado ___________________ Antonio G. Thomé - 98 Estrutura do Modelo Função de Mapeamento A concepção básica dos modelos neurais está centrada na figura do neurônio. A potencialidade do modelo para solução de problemas complexos se baseia no paralelismo, na capacidade de processamento advinda da integração, na não linearidade proporcionada pela atividade operacional de cada elemento da rede e pela capacidade da mesma de buscar a solução através de um método próprio de treinamento e auto-aprendizado. Diversos são os modelos de rede propostos na literatura, cada qual advindo de uma linha de pesquisa diferente e visando um melhor desempenho na solução de um tipo específico de problema. Basicamente, os modelos neurais podem ser classificados segundo: a) a estratégia de treinamento em supervisionados (quando a rede dispõe de um instrutor apontando erros e acertos) ou não-supervisionados (caso contrário). b) a forma de treinamento em incremental (quando o conhecimento da rede se ajusta após a apresentação de cada padrão de entrada (estímulo) ou lote (onde o ajuste do conhecimento só é realizado após “visão” de todos os estímulos), e c) a forma de operação em unidirecional (os sinais internos se propagam apenas na direção entrada/saída e recorrente (quando há realimentação). 18 Estrutura de uma Rede Neural E n t r a d a s S a í d a s Aprendizado Parâmetros de Projeto: • nr. de camadas • nr. de neurônios / camada • topologia das interconexões ___________________ • função de transferência • representação dos dados • dinâmica de aprendizado Antonio G. Thomé - 98 Infelizmente não existe qualquer método ou procedimento sistemático e determinístico para o projeto da estrutura e especificação dos parâmetros envolvidos em uma rede neural. O número de parâmetro e detalhes de projeto é grande e o maior ou menor sucesso na expecificação dos mesmos depende fortemente na experiência e no sentimento do projetista. Tudo começa pela escolha adequada da representação dos dados a serem usados na caracterização do problema e no treinamento da rede. A capacidade de resolução do problema, a performance do treinamento e a acurácia dos resultados estão intimamente ligados à qualidade da representação adotada. A rede é organizada geralmente em camadas e o padrão de interconexão mais comumente utilizado é o de conexão completa inter-camadas (full connected), apenas na direção entrada-saída, e nenhuma conexão intra-camada. Isto é, um neurônio situado na primeira camada (mais próxima da entrada) tem sua saída conectada a todos os neurônios da segunda camada e a nenhum outro neurônio da primeira camada. A saída de nenhum neurônio da segunda camada se conecta a entrada de qualquer neurônio da primeira camada. 19 Projeto de um Sistema Neural P r e P o s Pré-processamento do dados Pós-processamento do dados ___________________ Antonio G. Thomé - 98 O Projeto de um sistema neural deve portanto, observar etapas e seguir uma estratégia de prototipação, teste, avaliação e refnamento sistemáticos. Embora similar a estratégia adotada nas técnicas modernas de desenvolvimento de sistemas de software, lembramos mais uma vez que aqui não há idéia de DFD, análise estruturada, programação e coisas do gênero. Programação até que pode ser necessária, mas apenas para simular em software a estrutura e o funcionamento da rede. Existem várias arquiteturas e várias técnicas de treinamento de rede neural propostas na literatura. Cada uma com características vantajosas e desvantajosas dependendo do problema e aplicação específica a que se destinam. Redes neurais “aprendem” por experiência, como uma criança que aprende a andar, falar, associar objetos e nomes, através de exemplos, tentativa e erro. Assim, após a escolha de uma representação para os dados do problema, devese montar um conjunto de treinamento. Este conjunto é gerado a partir de dados históricos, ou seja, a partir de experiências e fatos ocorridos no passado. Dependendo de termos ou não em mãos a resposta desejada para cada um dos eventos históricos (tipo condição-ação dos SEs), podemos implementar uma dinâmica de treinamento chamada “supervisionada”, no primeiro caso, ou “nãosupervisionada” no segundo. 20 Funções de Ativação e de Propagação • Ativação A( x , w ) = ∑ wx • Propagação p(x) 1 1 1/2 -1 x Função Degrau ___________________ Antonio G. Thomé - 98 Função Sigmoidal A função de ativação, conforme vista no slide anterior, tem a finalidade de ativar ou desativar um determinado neurônio, em função de um conjunto específico e momentâneo de estímulos presentes em suas entradas. Dentre as diversas funções matemáticas possíveis, a ,ais utilizada é a simples soma ponderada das entradas. Neste somatório, tendo os valores de entrada como incógnitas, os pesos ajustáveis realizam o importante papel de definir hiperplanos que particionam o espaço de entrada na busca de discriminar eventuais padrões existentes. No exemplo abaixo vê-se um possível hiperplano gerado por um único neurônio atuando dentro de um espaço bi-dimensional. x2 x1 A(x,w)= w1x1+w2x2 1 x2 2 x1 Observe que a função de ativação do neurônio constitui uma reta que passa pelos pontos (2,1) no caso de w1= 1 e w2= -2, dividindo o espaço de entrada em dois hemisférios distintos. A função de propagação é geralmente utilizada para introduzir capacidade não-linear ao neurônio e muitas são as opções de função empregadas. Dentre elas, as mais comumente adotadas são: a sigmoid, o degrau, a gaussiana e a identidade. 21 O Modelo Perceptron a. Arquitetura Básica do Neurônio (EP) x1 w1 net S xm wm A o açã tiv net = w0 1 m ∑ wi xi ; i =0 x i ∈ { 0,1}; ^y x0 = 1 ção a g 1 se net > 0 pa y$ = Pro 0 se net ≤ 0 { ___________________ Antonio G. Thomé - 98 A arquitetura básica de neurônio do Perceptron possui como função de ativação a soma das entradas ponderada pelos pesos das interconexões e como função de propagação a função degrau aplicada sobre o net (saída da função de ativação). Uma rede Perceptron é montada a partir da agregação de vários neurônios com as características operacionais especificada no slide acima. A rede Perceptron trabalha única e exclusivamente com sinais binários e, embora constituída de neurônios muito simples, ela apresenta uma boa capacidade para resolver problemas de classificação. A restrição do Perceptron é de que todos os neurônios têm que estar posicionados em uma única camada. No exemplo acima, temos uma rede com 4 Perceptrons, 3 entradas, 4 saídas e 12 pesos. 22 O Aprendizado do Perceptron x0 w0 S net ^y xm w m DWi x yd + + l ^ DWi= l.(yd-y).X ___________________ Antonio G. Thomé - 98 A grande novidade oferecida pelo esquema Perceptron é que ele é capaz de resolver o problema, isto é encontrar os pesos corretos, de forma automática e sem interferência do projetista, programador ou usuário. Para que isto seja possível, usando como exemplo as portas lógicas, veja o exemplo da figura 4.3.4 à frente, constrói-se um conjunto de treinamento contendo todos os pares possíveis de entrada e um vetor correspondente contendo as saídas corretas (desejadas) para cada par. Feito isto, escolhe-se aleatoriamente valores iniciais para os pesos das conexões e, fazendo-se uso de uma regra de “aprendizado” (ou seja, de ajuste automático dos pesos), apresenta-se sistematicamente os pares entrada-saída várias vezes seguidas à rede (até que esta consiga atinjir o objetivo, ou seja produzir as saídas desejadas, com um grau aceitável de precisão). Neste instante e rede terá “aprendido” a resolver o problema em questão. Observando a regra de aprendizado do Perceptron pode-se notar que o ajuste dos pesos se dá sempre que o valor de saída fornecido pela rede for diferente do correto (desejado) para uma dada entrada corrente. A variável “T” vista no slide sobre separabilidade linear à frente, é conhecida como “threshold” e pode ser préviamente estabelecida pelo projetista da rede ou também ajustada automaticamente pelo algoritmo de aprendizado. 23 Dinâmica de Treinamento • Batch Os parâmetros (pesos) são ajustados somente ao final de cada “epoch” (processamento de todo o conjunto de observações) • Incremental Os parâmetros (pesos) são ajustados ao final do processamento de cada observação ___________________ Antonio G. Thomé - 98 A dinâmica de ajuste dos pesos geralmente segue uma das duas estratégias apresentadas neste slide: batch ou incremental. Na estratégia batch, os pesos são ajustados pela média dos erros encontrados sobre todo o conjunto de observações usado para treinamento, enquanto que na estratégia incremental, o ajuste é local, isto é, realizado após a apresentação de cada observação do conjunto de treinamento. Existem vantagens e desvantagens associadas a cada estratégia, de modo que a escolha de uma ou outra deve ser feita com base no problema específico que se está resolvendo. A estratégia batch é geralmente mais lenta mas, por outro lado, costuma ser muito mais estável. Em termos de custo computacional, a estratégia incremental é mais onerosa, porém requer menos espaço de memória para execução. A estratégia batch é a mais utilizada das duas, pelas suas características de estabilidade e custo computacional. 24 Características e Restrições a. Características •aprendizado supervisionado; •representação binária; •apenas 1 camada de pesos ajustáveis. b. Restrições •aprendizado nem sempre ocorre; •tempo de convergência pode ser longo; •não admite mais de 1 camada ajustável; •classifica apenas padrões Linearmente Independentes ___________________ Antonio G. Thomé - 98 De todas as características e desvantagens do modelo Perceptron, a mais crítica e que foi duramente condenada por Minky e Papert, é a de classificar apenas padrões que sejam linearmente separáveis. Isto deve-se ao fato de que na prática, os problemas linearmente separáveis representam apenas um sub-conjunto, muito pequeno, do espaço total de problemas do mundo real. Outro grande óbice do Perceptron é ter a capacidade de atualizar automaticamente (“aprender”) apenas uma camada de pesos (a mais próxima da saída). Isto porque não havia como estabelecer medidas de erro para as camadas mais internas e assim a fórmula de aprendizado não podia ser utilizada. Com mais de uma camada é possível sobrepor esta restrição, e isto pode ser vislumbrado na época, mas tal procedimento não moustrou-se viável pela falta de uma forma razoável para se estabeler os valores para os pesos das camadas internas da rede, que fossem matematicamente corretos e garantissem a viabilidade da solução completa do problema. Somente em 1986, com Rumelhart, a barreira de apenas uma camada de pesos ajustáveis foi vencida e, desde então, a área de RNs vem experimentando um crescimento acelerado. 25 Separabilidade Linear • Porta “OU“ • Porta “E“ x x .5 x y z 0 0 1 1 0 1 0 1 0 0 0 1 z .9 y .5 0 0 1 1 0 1 0 1 1 1 1 0 y y .5 x y z z .4 .5 y .5x+.5y=.4 .5x+.5y=.9 x x ___________________ Antonio G. Thomé - 98 x x Cada Perceptron cria uma hiper-superfície que pode ser usada para separar padrões num espaço multi-dimensional. Com um único neurônio Perceptron, por exemplo, pode-se construir facilmente quase todas as portas lógicas que compõem o conjunto básico da eletrônica digital. Veja abaixo uma possível implementação das portas “AND” e “OR”: x1 x2 AND x1 w1 OR 0 0 0 0 0 1 0 1 1 0 0 1 1 1 1 1 T x2 w2 Será um AND se w1=1, w2=1, e T=-1 Será um OR se w1=1, w2=1, e T=-0.5 A porta X-OR (ou exclusivo) é não-linear e, por tanto, impossível de ser implementada por um Perceptron. Este foi o principal exemplo usado por Minsky e Papert para combater a utilidade e a capacidade real do Perceptron para resolver problemas reconhecidamente simples. 26 Separabilidade Linear (cont.) “N” variáveis binárias n n 2 padrões diferentes de entrada n 22 funções possíveis de saída 2 3 4 5 6 2 n 2 FLS 16 256 65.536 4.3x109 1.8x1019 14 104 1.882 94.572 5.028.134 ___________________ Antonio G. Thomé - 98 Como pode ser observado neste slide, o número de problemas não-linearmente separáveis, no sub-conjunto do espaço binário, cresce muitíssimo mais rápido do que o dos linearmente separáveis, a medida que se aumenta a dimensão do problema. Em problemas de classificação é comum termos casos em que a separação das classes não é linear, como pode ser visto no exemplo abaixo: Neste exemplo as classes das bolinhas e dos quadrados não podem ser separadas por uma superfície linear. 27 O Algoritmo Backpropagation Possibilitou a implementação de redes multicamadas x0 w0 xm w m S net ^y f’(net) DWi x x yd + + l ^ DWi= l.(yd-y).f’(net).X ___________________ Antonio G. Thomé - 98 Rumelhart introduziu o conceito da retro-propagação do erro através das camadas intermediárias ou escondidas, como as camadas internas do modelo são conhecidas. Para que isto fosse possível ele substituiu a função degrau, utilizada no modelo Perceptron, pela função sigmoid, vista alguns slides atrás. Esta simples troca não parece, a primeira vista, ter um significado muito importante ou mesmo introduzir novidade no esquema já conhecido do modelo Perceptron. O fato é que por trás desta simples modificação está a troca de uma função não-derivável (que é a função degrau) por uma derivável (a sigmoid). Fazendo isto, Rumelhart mostrou que a regra de aprendizado dos neurônios poderia ser matematicamente deduzida seguindo os mesmos fundamentos da teoria de otimização. Além de matematicamente formulada, a regra poderia, agora, ser expandida para as camadas escondidas fazendo-se apenas um exercício algébrico sobre a formulação básica. O algoritmo batizado com o nome de backpropagation implementa a técnica do “gradiente descendente” sobre uma superfície de erro formada pelo quadrado da diferença entre a saída desejada e a saída gerada pela rede. E(k ) = 1 2 y d − y$ ) ( ∑ 2 e ∆ W ( k + 1) = − λ ∂E ( k ) ∂W ( k ) 28 A Regra de Aprendizado Ativação = net = ∑ w i x i = WX Propagação 1 = sig ( x ) = 1 + e − x Medida de Performance n E ( k ) = ∑ ( yi − y$ i ) i=1 } f ( net ) = sig ( net ) = 1 1 + e −WX f ’( net ) = (1 − f ( net ). f ( net ) Aprendizado 2 ∆W ( k + 1) = − λ ∂E ( k ) ∂W ( k ) ___________________ Antonio G. Thomé - 98 A resolução desta equação matemática, para qualquer das camadas, é feita por intermédio da regra da cadeia, isto é: ∂E ∂ E ∂ y$ ∂ net = . . ∂ W ∂ y$ ∂ net ∂ W O nome de retro-propagaçãp do erro (ou error backpropagation em inglês) vem do fato de que o ajuste dos pesos para as camadas mais internas é realizado a partir da retro-propagação do erro existente na camada de saída que, na realidade, é o único erro que pode ser medido e avaliado. Outras arquiteturas e regras de aprendizado estão disponíveis na literatura, mas fogem ao escopo deste curso, não só pelo objetivo do mesmo e pelo “background” exigido, mas principalmente, pelo curto espaço de tempo disponível. 29 Algumas Aplicações • Processamento da Voz – reconhecimento de comandos – reconhecimento de locutor • Processamento de Imagens – reconhecimento de caracteres – reconhecimento de objetos – classificação • Controle Adaptativo • Suporte à Decisão – análise de crédito, – mercado financeiro, – etc. ___________________ Antonio G. Thomé - 98 30 Sistemas Híbridos Caracterizam-se pela união de duas ou mais técnicas de IC na busca de uma melhor eficiência e eficácia, na resolução de um problema. As uniões mais comumente encontradas são: • Sistemas Neuro-Fuzzy; • Sistemas Neuro-Genéticos • Sistemas Neuro-Especialistas • Sistemas Fuzzy-Especialistas • Sistemas Neuro-Fuzzy-Genéticos ___________________ Antonio G. Thomé - 98 Não só a integração com os modelos convencionais é prevista mas também a integração de mais de uma técnica de inteligência computacional aparece com freqüência cada vez maior na literatura. A explicação para tal tendência se explica na potencialidade maior de se achar melhores soluções juntando o que houver de melhor nas diferentes técnicas. Os sistemas neuro-fuzzy ou neuro-nebulosos são de particular interesse e já aparecem em diversos dispositivos e utensílios comerciais de uso doméstico. Apesar de toda a expectativa e esperança depositados com vistas ao futuro da inteligência computacional, é importante relembrar o compromisso e o cuidado alertados no início do curso, de não extrapolar nas promessas para não cair em descrédito e desmotivação. 31