Inteligência? Antonio G. Thomé - 98

Documentos relacionados
Redes Neurais Artificial. Inteligência Artificial. Professor: Rosalvo Ferreira de Oliveira Neto

serotonina (humor) dopamina (Parkinson) serotonina (humor) dopamina (Parkinson) Prozac inibe a recaptação da serotonina

A evolução natural deu ao cérebro humano muitas características desejáveis que não estão presentes na máquina de von Neumann:

TÓPICOS EM INTELIGÊNCIA ARTIFICIAL Redes Neurais Artificiais

Classificação Linear. André Tavares da Silva.

Redes Neurais Artificiais

INTELIGÊNCIA ARTIFICIAL

Introdução à Redes Neurais. Prof. Matheus Giovanni Pires EXA 868 Inteligência Artificial Não-Simbólica B Universidade Estadual de Feira de Santana

Redes Neurais Artificiais

Redes Neurais Artificiais

INTELIGÊNCIA COMPUTACIONAL

Redes Neurais. Motivação. Componentes do neurônio. Cérebro humano. Criar máquinas capazes de operar independentemente do homem:

Inteligência Artificial Redes Neurais

INF 1771 Inteligência Artificial

Redes Neurais Artificiais

Redes Neurais. Prof. Aurora Pozo. Obs: slides baseados em Prof. Marcílio Souto e Prof. Marley Vellasco

Pós-Graduação em Engenharia de Automação Industrial SISTEMAS INTELIGENTES PARA AUTOMAÇÃO

REDES NEURAIS ARTIFICIAIS

Redes Neurais Artificiais. Sistemas de Informação/Ciências da Computação UNISUL Aran Bey Tcholakian Morales, Dr. Eng. (Apostila 9)

3 Redes Neurais Artificiais

PRINCÍPIOS DE NEUROCOMPUTAÇÃO

Redes Neurais Noções Gerais

Por que Redes Neurais?

Redes Neurais Artificiais

Inteligência Computacional

COMPARAÇÃO ENTRE DIFERENTES ESTRUTURAS DE REDES NEURAIS NO PROBLEMA PRESA-PREDADOR 1

Tópicos sobre Redes Neurais

Redes Neurais 1. Redes Neurais. cont.) Definição (cont( Definição. Histórico. Características básicas

Algoritmos de Aprendizado. CONTEÚDO Introdução Motivação, Objetivo, Definição, Características Básicas e Histórico. Regra de HEBB.

Inteligência Artificial. Conceitos Gerais

REDES NEURAIS. Marley Maria B.R. Vellasco. ICA: Núcleo de Pesquisa em Inteligência Computacional Aplicada CONTEÚDO

Introdução a Redes Neurais Artificiais com a biblioteca Encog em Java

Redes Neurais INTELIGÊNCIA ARTIFICIAL

3 INTELIGÊNCIA COMPUTACIONAL (IC)

Rede Perceptron. Capítulo 3

UNIVERSIDADE DO ESTADO DE MATO GROSSO - UNEMAT. Faculdade de Ciências Exatas e Tecnológicas FACET / Sinop Curso de Bacharelado em Engenharia Elétrica

Introdução às Redes Neurais Artificiais

Tópicos Especiais em Informática Fatec Indaiatuba

Redes Neurais Artificiais - Introdução. Visão Computacional

4 Redes Neurais Artificiais

Aprendizado de Máquina Introdução às Redes Neurais Artificiais

2. Redes Neurais Artificiais

Aprendizado de Máquina (Machine Learning)

Minicurso: Inteligência Artificial Aplicada a Sistemas Elétricos

Aprendizado de Máquinas. Multi-Layer Perceptron (MLP)

Tópicos Especiais: Inteligência Artificial REDES NEURAIS

Redes Neurais Artificial

Redes Neurais e Sistemas Fuzzy

UNIVERSIDADE DO ESTADO DE MATO GROSSO - UNEMAT. Faculdade de Ciências Exatas e Tecnológicas FACET / Sinop Curso de Bacharelado em Engenharia Elétrica

INSTITUTO DE PÓS GRADUAÇÃO ICPG GESTÃO DA TECNOLOGIA DA INFORMAÇÃO

UNIVERSIDADE DO ESTADO DE MATO GROSSO - UNEMAT. Faculdade de Ciências Exatas e Tecnológicas FACET / Sinop Curso de Bacharelado em Engenharia Elétrica

3 REDES NEURAIS ARTIFICIAIS

Redes Neurais: MLP. Universidade Federal do Rio Grande do Norte Departamento de Engenharia de Computação e Automação

UNIVERSIDADE DO ESTADO DE MATO GROSSO - UNEMAT. Faculdade de Ciências Exatas e Tecnológicas FACET / Sinop Curso de Bacharelado em Engenharia Elétrica

UNIVERSIDADE DO ESTADO DE MATO GROSSO - UNEMAT. Faculdade de Ciências Exatas e Tecnológicas FACET / Sinop Curso de Bacharelado em Engenharia Elétrica

Redes Neurais Artificiais Sistemas Inteligentes Especialização em Automação Industrial SISTEMAS INTELIGENTES PROFESSOR FLÁVIO MURILO

Processos de software

Fundamentos das Redes Neurais: exemplos em Java

Previsão de consumos a curto prazo

Redes Neurais Artificial. Prática. Inteligência Artificial

Inteligência Artificial

Redes Neurais Artificiais. Prof. João Alberto Fabro

Redes Neurais Artificiais

Previsão de Vazões utilizando Redes Neurais Artificiais MLP e NSRBN

Paradigma Simbólico. Sistemas de Informação UNISUL Aran Bey Tcholakian Morales, Dr. Eng. (Apostila 2)

Felix da Cunha 412, Pelotas RS Home-Page: s: Bolsista BIC/FAPERGS

Rede RBF (Radial Basis Function)

Redes Neurais. Conexionismo. Redes Neurais, IA e IC. Abordagem Simbólica. Apresentação da disciplina Inteligência Computacional e conexionismo

INTELIGÊNCIA ARTIFICIAL

Inteligência Computacional

CRÉDITOS DO CURSO. Carga Horária Créditos IN1030 Seminários 30 2

JAI 6 - Deep Learning Teoria e Prática

HP UFCG Analytics Abril-Maio Um curso sobre Reconhecimento de Padrões e Redes Neurais. Por Herman Martins Gomes.

Redes Neurais Artificiais. Capítulos 1 e 2

Aprendizado de Máquina

Sistemas Inteligentes - Redes Neurais -

Automação Inteligente de Processos e Sistemas

Processos de Software by Pearson Education Ian Sommerville 2006 Engenharia de Software, 8ª. edição. Capítulo 4 Slide 1

Multi-Layer. Perceptrons. Algoritmos de Aprendizado. Perceptrons. Perceptrons

Aprendizado de Máquina

Redes Neurais. Profa. Flavia Cristina Bernardini

Fabrício Jailson Barth BandTec

Aula 1 Introdução - RNA

Aprendizado de Máquina

GT-JeDi - Curso de Desenv. de Jogos IA para Jogos

INF 1771 Inteligência Artificial

Sistemas Especialistas

Tópicos Avançados em Sistemas Computacionais: Infraestrutura de Hardware Aula 02

Protótipo de Software para Reconhecimento de Impressões Digitais

Mini-projeto: Reconhecimento de Digitos com MLPs. Germano C. Vasconcelos Centro de Informática - UFPE

Aprendizado de Máquina

Aprendizado de Máquina

UNIVERSIDADE DO ESTADO DE MATO GROSSO - UNEMAT. Faculdade de Ciências Exatas e Tecnológicas FACET / Sinop Curso de Bacharelado em Engenharia Elétrica

2. Redes Neurais Artificiais

UFSC Universidade Federal de Santa Catarina CTC Centro Tecnológico INE Departamento de Informática e Estatística

Organização e Arquitetura de Computadores. Professor Airton Ribeiro de Sousa

Transcrição:

? Inteligência? Aurélio Buarque de Holanda É a faculdade aprender, a capacidade de comprender e de adaptar-se, é agudeza e perspicácia. 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. 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. 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 cm 3 (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 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 navio oceano ilha deserta marinha Coqueiro 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) Forma de Raciocínio Sistemas Especialistas Resolução de Problemas Seleção Natural Algoritmos Genéticos Estrutura do Cérebro Redes Neurais Sistemas Híbridos 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 Jogos Sistemas de de Padrões Reconhecimento Apoio a Decisão Processamento de Processamento de Sinais Controle Linguagem Natural 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?? COMO FUNCIONAM? O QUE SÃO? PARA QUE SERVEM? 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 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 1962 - Rosemblat 1963 - Bernard Widrow 1969 - Minsky e Papert 1982 - John Hopfield 1986 - Rumelhart 2000 -????? Estudo do Neurônio O Perceptron Filtros Adaptativos Crítica aos Perceptrons Resgata Interesse em RNs Alg. Backpropagation 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 dendritos modelo biológico axônio w > f (.) corpo celular 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 I n t e r c / S e g 10 18 10 15 10 12 10 9 10 6 10 3 100 trilhões de interconexões Homem (10 14,10 16 ) Abelha Mosca Barata Minhoca Sanguessuga 10 3 10 6 10 9 10 12 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 x 1 w 1 x 2 w 2 Função de Ativação Função de Propagação y w 3 x 3 (, ) (, ) y= f XW = P AXW 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. 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 - ajustada automaticamente estática - dinâmica código e dados - distribuído Características corretude - aproximado inflexibilidade - flexível intolerância a falhas - tolerante a falhas 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 7 0 8 0 8 9 0 9 Reconhecimento de Dígitos? 0 1 2 3 4 5 6 7 8 9 Domínio 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 X Y 0 7 8 0 9 8 0 9 Y = f (X) caracterização do domínio mapeamento desconhecido consistência ambigüidade incerteza ruído Modelo Convencional 0 1 2 3 4 5 6 7 8 9 Domínio 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

X O Modelo Neural Não linear Y^ Numérico - S Y + e Supervisionado Mecanismo de Aprendizado Não Supervisionado Intensidade das Conexões Regra de Aprendizado 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 Parâmetros de Projeto: Aprendizado S a í d a s 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 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 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 1 Propagação p(x) 1 1/2-1 Função Degrau Função Sigmoidal x 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. x 1 x 2 A(x,w)= w 1 x 1 +w 2 x 2 1 x 2 2 x 1 Observe que a função de ativação do neurônio constitui uma reta que passa pelos pontos (2,1) no caso de w 1 = 1 e w 2 = -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) x 1 w 1 S net ^y x m w m w 0 Ativação m i= 0 { } net = w x ; x 01, ; x = 1 i i i 1 0 Propagação $y = { 1 se net > 0 0 se net 0 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 x 0 w 0 S net ^y x m w m x + l DW i - + DW i = l.(y d -y).x ^ y d 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 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 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 x y 0 0 0 1 1 0 1 1 y Porta E z 0 0 0 1 x y.5.9.5.5x+.5y=.9 z x y 0 0 0 1 1 0 1 1 y Porta OU z 1 1 1 0 x y.5.5.4.5x+.5y=.4 z x x 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 : x 1 x 2 AND OR x 1 w 1 T 0 0 0 0 x 2 w 2 0 1 0 1 1 0 0 1 Será um AND se w 1 =1, w 2 =1, e T=-1 1 1 1 1 Será um OR se w 1 =1, w 2 =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 2 n 2 FLS n 2 padrões diferentes de entrada 2 2 n funções possíveis de saída 2 16 14 3 256 104 4 65.536 1.882 5 4.3x10 9 94.572 6 1.8x10 19 5.028.134 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 x 0 x m w 0 w m S net ^y x x + l DW i f (net) - + y d DW i = l.(y d -y).f (net).x ^ 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. ( ) ( ) 1 2 E k E( k) = ( yd y$ ) e W( k + 1) = λ 2 W k 28

A Regra de Aprendizado Ativação net = w x = WX 1 = } i i f ( net ) = sig( net ) = + 1 e WX Propagação = sig( x)= 1 f ( net ) = ( 1 f ( net ). f ( net ) + 1 e x Medida de Performance n 2 Ek ( ) = ( yi y$ i) i= 1 Aprendizado E( k) W( k + 1) = λ W( k) A resolução desta equação matemática, para qualquer das camadas, é feita por intermédio da regra da cadeia, isto é: E W E = y$ y$ net.. 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. 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 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