UNIVERSIDADE FEDERAL FLUMINENSE Tiago Lisboa Alves. Sistemas inteligentes em ambientes corporativos



Documentos relacionados
Figura 5.1.Modelo não linear de um neurônio j da camada k+1. Fonte: HAYKIN, 2001

Do neurônio biológico ao neurônio das redes neurais artificiais

Redes Neurais. A IA clássica segue o paradigma da computação simbólica

LISTA DE VERIFICAÇAO DO SISTEMA DE GESTAO DA QUALIDADE

3 Qualidade de Software

Administração de Pessoas

ORGANIZAÇÃO DE COMPUTADORES MÓDULO 1

BSC Balance Score Card

Introdução Ciclo de vida tradicional de desenvolvimento Prototipagem Pacotes de software Desenvolvimento de 4ª geração Terceirização

Classificação de Sistemas: Sistemas Empresariais

Aula 2 Revisão 1. Ciclo de Vida. Processo de Desenvolvimento de SW. Processo de Desenvolvimento de SW. Processo de Desenvolvimento de SW

ESTUDO DE VIABILIDADE. Santander, Victor - Unioeste Aula de Luiz Eduardo Guarino de Vasconcelos

Conceitos Básicos de Rede. Um manual para empresas com até 75 computadores

MÍDIAS NA EDUCAÇÃO Introdução Mídias na educação

TÉCNICAS DE PROGRAMAÇÃO

agility made possible

GESTÃO PÉ NO CHÃO. Resultados da pesquisa online realizada com mais de 100 escritórios de advocacia

UNEMAT SISTEMA DE INFORMAÇÃO (SI) Professora: Priscila Pelegrini

Capítulo 2. Processos de Software Pearson Prentice Hall. Todos os direitos reservados. slide 1

Cartilha do ALUNO EMPREENDEDOR POLITÉCNICA

PLANEJAMENTO ESTRATÉGICO

7 etapas para construir um Projeto Integrado de Negócios Sustentáveis de sucesso

Metadados. 1. Introdução. 2. O que são Metadados? 3. O Valor dos Metadados

Engenharia de Software Unidade I Visão Geral

PLANEJAMENTO OPERACIONAL - MARKETING E PRODUÇÃO MÓDULO 16 AS QUATRO FASES DO PCP

DESCRIÇÃO DAS PRÁTICAS DE GESTÃO DA INICIATIVA

Cinco restrições de desenvolvimento/teste que afetam a velocidade, o custo e a qualidade dos seus aplicativos

Unidade II MODELAGEM DE PROCESSOS

Engenharia de Software e Gerência de Projetos Prof. Esp. André Luís Belini Bacharel em Sistemas de Informações MBA em Gestão Estratégica de Negócios

Copyright Proibida Reprodução. Prof. Éder Clementino dos Santos

Soluções via.net para otimização de processos paramétricos com Autodesk Inventor.

Disciplina: Técnicas de Racionalização de Processos Líder da Disciplina: Rosely Gaeta NOTA DE AULA 04 O PROJETO DE MELHORIA DOS PROCESSOS

COMPONENTES DA ESTRUTURA DO PLANO DE NEGÓCIO

UNIVERSIDADE FEDERAL DE SANTA MARIA CENTRO DE TECNOLOGIA AULA 14 PROFª BRUNO CALEGARO

Teste de Software Parte 1. Prof. Jonas Potros

5 Considerações finais

Plano de Continuidade de Negócios

2 Fundamentação Conceitual

Empreenda! 9ª Edição Roteiro de Apoio ao Plano de Negócios. Preparamos este roteiro para ajudá-lo (a) a desenvolver o seu Plano de Negócios.

Assunto 9 : Tecnologias de Inteligência Artificial nos Negócios

Resolução da lista de exercícios de casos de uso

Barreiras. Lição 1.5. A palavra mais importante para transformar situações de risco potencial em IMPROVÁVEL.

TIPOS DE REUNIÕES. Mariangela de Paiva Oliveira. As pessoas se encontram em diferentes âmbitos:

ADMINISTRAÇÃO I. Família Pai, mãe, filhos. Criar condições para a perpetuação da espécie

Questionário de Avaliação de Maturidade Setorial: Modelo PRADO-MMGP

O PAPEL EMPREENDEDOR NO SISTEMA DE GESTÃO DA QUALIDADE * PALAVRAS-CHAVE: Sistema de Gestão da Qualidade. Representante da Diretoria. ISO 9001.

É recomendável ordenar e responder apenas àquelas perguntas que podem efetivamente contribuir para um aprofundamento da análise da organização.

Sistemas de Informação I

UNIVERSIDADE FEDERAL DE SANTA MARIA COLÉGIO TÉCNICO INDUSTRIAL DE SANTA MARIA Curso de Eletrotécnica

Legitimação dos conceitos face as práticas organizacionais; Oportunizar reflexão sobre as competências em desenvolvimento;

ESTRUTURA DE GERENCIAMENTO DO RISCO OPERACIONAL DO BANCO COOPERATIVO SICREDI E EMPRESAS CONTROLADAS

PLANEJAMENTO OPERACIONAL - MARKETING E PRODUÇÃO MÓDULO 11 PESQUISA DE MERCADO

CAPITAL DE GIRO: ESSÊNCIA DA VIDA EMPRESARIAL

Motivação. Robert B. Dilts

Planejamento e Gestão Estratégica

Um mercado de oportunidades

o(a) engenheiro(a) Projeto é a essência da engenharia 07/02/ v8 dá vazão

ADMINISTRAÇÃO GERAL GESTÃO DO DESEMPENHO

Profa. Ma. Adriana Rosa

Considerações sobre redimensionamento de motores elétricos de indução

DESENVOLVENDO COMPETÊNCIAS MATEMÁTICAS Marineusa Gazzetta *

A SEGUIR ALGUMAS DICAS PARA O DESENVOLVIMENTO DE UM PROJETO CIENTÍFICO

4 Metodologia e estratégia de abordagem

METODOLOGIA PARA DESENVOLVIMENTO DE ESTUDOS DE CASOS

PlusPixel Marketing Digital SOMOS MAIS SOCIAIS DO QUE NUNCA

Conceito e Processo do Planejamento Estratégico

Aula 1 Dados & Informações & Indicadores

O Uso da Inteligência Competitiva e Seus Sete Subprocessos nas Empresas Familiares

Gerenciamento da Integração (PMBoK 5ª ed.)

Núcleo de Pós Graduação Pitágoras

ARQUITETURA DE COMPUTADORES

Uma empresa só poderá vender seus bens/serviços aos consumidores se dois requisitos básicos forem preenchidos:

Especificação Operacional.

Módulos QM de sistemas ERP ou MES X Sistemas LIMS?

Exercícios Teóricos Resolvidos

Síntese de voz panorama tecnológico ANTONIO BORGES

AS CONTRIBUIÇÕES DAS VÍDEO AULAS NA FORMAÇÃO DO EDUCANDO.

COMO FUNCIONA NOSSA CONSULTORIA DE MARKETING DIGITAL ESPECIALIZADA EM VENDAS ONLINE

FORMAÇÃO DE JOGADORES NO FUTEBOL BRASILEIRO PRECISAMOS MELHORAR O PROCESSO? OUTUBRO / 2013

O processo envolve quatro questões básicas:

Assine e coloque seu número de inscrição no quadro abaixo. Preencha, com traços firmes, o espaço reservado a cada opção na folha de resposta.

Índice. Introdução 2. Quais funcionalidades uma boa plataforma de EAD deve ter? 4. Quais são as vantagens de ter uma plataforma EAD?

Como identificar, vender e comercializar com os prospectos de pequenas empresas Parte 3/3

Gestão do Risco e da Qualidade no Desenvolvimento de Software

Campus Capivari Análise e Desenvolvimento de Sistemas (ADS) Prof. André Luís Belini prof.andre.luis.belini@gmail.com /

Perguntas. Que todo usuário deveria fazer antes de comprar um software CAD de baixo custo. Por Robert Green, proprietário da Robert Green Consulting

Projeto de inovação do processo de monitoramento de safra da Conab

CÓDIGO CRÉDITOS PERÍODO PRÉ-REQUISITO TURMA ANO INTRODUÇÃO

CURSO. Master in Business Economics 1. vire aqui

Confederação Nacional da Indústria. - Manual de Sobrevivência na Crise -

"BUSSINES PLAN"- PLANO DE NEGÓCIOS

CONCEITOS BÁSICOS DE UM SISTEMA OPERATIVO

Engenharia de Software II

ADMINISTRAÇÃO GERAL GESTÃO DE PROCESSOS

Medição tridimensional

STC5 Redes de informação e comunicação

Especialização em Engenharia de Software e Banco de Dados

Transcrição:

UNIVERSIDADE FEDERAL FLUMINENSE Tiago Lisboa Alves Sistemas inteligentes em ambientes corporativos Niterói 2011

Tiago Lisboa Alves Sistemas inteligentes em ambientes corporativos Trabalho de Conclusão de Curso submetido ao Curso de Tecnologia em Sistemas de Computação da Universidade Federal Fluminense como requisito parcial para obtenção do título de Tecnólogo em Sistemas de Computação. Orientador: Cristiano Grijó Pitangui, NITERÓI 2011

Tiago Lisboa Alves Sistemas inteligentes em ambientes corporativos Uma abordagem das características de uso Trabalho de Conclusão de Curso submetido ao Curso de Tecnologia em Sistemas de Computação da Universidade Federal Fluminense como requisito parcial para obtenção do título de Tecnólogo em Sistemas de Computação. Niterói, de de ANO. Banca Examinadora: Prof. Cristiano Grijó Pitangui, Msc. Orientador UFRJ Universidade Federal do Rio de Janeiro Prof. Leandro Soares de Sousa, Msc. Avaliador UFF - Universidade Federal Fluminense

Dedico este trabalho a minha família, e aos meus amigos e a todos que me apoiaram até aqui.

AGRADECIMENTOS A Deus, que sempre iluminou a minha caminhada. A meu Orientador Cristiano Pitangui pela compreensão e paciência que me concedeu. Aos Colegas e tutores de curso pelo incentivo e troca de experiências. A todos os meus familiares e amigos pelo apoio e colaboração.

RESUMO O presente trabalho enfatiza a utilização de sistemas inteligentes como uma forma de resolver problemas complexos ao mesmo tempo em que questiona alguns dos motivos principais que levaram a área a não ser tão aplicada a ambientes corporativos como deveria ser, pois há muitas tecnologias poderosas que em muito podem fazer pelas empresas. Palavras-chaves: sistemas inteligentes, ambientes corporativos e inovação tecnológica.

LISTA DE ILUSTRAÇÕES Figura 1.1. Comparação entre ser humano e máquina... 13 Figura 2.1. Controle de Qualidade... 20 Figura 2.2: Controle de processo industrial....22 Figura 3.1. Esquema básico de um neurônio...36 Figura 3.2: Fenda Sináptica... 37 Figura 3.3. Modelo de McCulloch e Pits... 39 Figura 3.4: Modelo simplificado de um neurônio artificial...... 40 Figura 3.5: Rede Neural em camadas... 41 Figura 3.6: Início do treinamento de um neurônio...... 42 Figura 3.7: Iniciação do primeiro fato no neurônio...... 42 Figura 3.8: Iniciação do segundo fato no neurônio...... 43 Figura 3.9: Iniciação do terceiro fato no neurônio... 43 Figura 3.10: Neurônio treinado.... 44

LISTA DE ABREVIATURAS E SIGLAS IA Inteligência Artificial SI Sistema inteligente SC Sistema convencional SE Sistema especialista SBC Sistema baseado em conhecimento OO Orientação a objetos RNA Redes Neurais Artificiais CLIPS - C Language Integrated Production System AG Algoritmo Genético

SUMÁRIO RESUMO... 8 LISTA DE ILUSTRAÇÕES... 9 LISTA DE ABREVIATURAS E SIGLAS... 10 1 Introdução... 13 2 Quando usar sistemas inteligentes... 16 2.1 Casos em que sistemas inteligentes são indicados... 16 2.2 Principais Aplicações de Sistemas inteligentes... 18 2.2.1 Planejamento Autônomo... 18 2.2.2 Mineração de Dados (Data Mining)... 20 2.2.3 Reconhecimento de Voz... 22 2.2.4 Visão Computacional... 25 3 Principais aspectos de um sistema inteligente... 29 3.1 Paradigmas de Sistemas Inteligentes... 30 3.1.1 Sistemas especialistas... 30 3.1.1.1 Vantagens... 33 3.1.1.2 Desvantagens e Limitações... 34 3.1.2 Redes Neurais... 35 3.1.2.1 Redes Neurais Biológicas... 36 3.1.2.2 Modelo de Rede Neural... 38 3.1.2.3 Um exemplo de ajuste sináptico... 41 3.1.2.4 Principais Aplicações... 44 3.1.2.5 Desenvolvimento de aplicações... 45 3.1.2.6 Aprendizado... 47 3.1.3 Vantagens... 48 3.1.4 Desvantagens... 48 3.2 Técnicas matemáticas e sistemas híbridos... 49 3.2.1 Lógica Difusa... 49

3.2.2 Algoritmos Genéticos... 50 3.2.2.1 Vantagens... 52 3.2.2.2 Desvantagens... 53 3.2.3 Sistemas Híbridos... 54 4 Implantação de sistemas inteligentes em ambientes corporativos... 56 4.1 Fatores Limitantes... 56 4.2 Aspectos econômicos de sistemas inteligentes... 57 4.3 Estudantes, Profissionais e empresas de sistemas inteligentes... 58 5 Conclusões e trabalhos futuros... 61 6 Referências Bibliográficas... 62

13 1 INTRODUÇÃO Quando algumas pessoas ouvem a expressão inteligência artificial (IA), o primeiro pensamento que pode vir à mente é: coisa de outro mundo. O atual estado da arte, ainda não chegou onde se almeja, mas já se obtém bons frutos dos estudos e pesquisas nessa área. O desenvolvimento de sistemas de informação evoluiu junto à evolução da capacidade de processamento de informações. Como se sabe, esses sistemas baseiam-se em algoritmos, que nada mais são mais do que instruções e lógica condicional. Essas instruções não necessitam de inteligência, pois, isoladas, são simples e objetivas [1]. Dito isso, é possível abstrair sistemas reais e construir sistemas de informação, para automatizar aqueles sistemas, e, com isso, os seres humanos poderiam se preocupar com outras coisas que não fossem rotineiras. A área da inteligência artificial surgiu de uma possível hipótese de que poderia ser possível a simulação de habilidades humanas que requerem algum nível de inteligência. A frase Se o ser humano pode, porque a máquina não pode? [1], representa bem o que a IA almeja. E, para se chegar a esse complexo e fantástico objetivo, existem diversas linhas de pesquisa em constante expansão e indefinidamente distantes de seus objetivos. Abaixo, a figura 1.1 faz uma analogia entre homem e máquina. A mente está para o programa assim como o corpo (no caso o hardware é o cérebro) está para arquitetura. Figura 1: Comparação entre ser humano e a máquina.

14 A visão da área no Brasil é distorcida; aqui, têm-se apenas universidades com laboratórios de pesquisa e em cada curso de graduação o que vemos é apenas uma disciplina, geralmente depois do sexto período, dedicada a IA, que é o provável futuro da tecnologia da informação. E o fato que chama atenção, a maioria dos empresários brasileiros pensam que é uma área acadêmica, sem benefícios reais aparentes, com sua aplicação. Contrariando isso, podemos exemplificar o caso da Petrobrás, que investiu milhões de reais em sistemas inteligentes, nos laboratórios TECPAR/DIA-PR [2] e ADDLABS/UFF-RJ [3] nessa década. No exterior, o mercado de IA está aquecido; empresas têm investido pesado para aperfeiçoar seus processos e reduzir custos com suas técnicas. Só para jogos, em 2007, foram investidos $17,9 bilhões, e são esperados investimentos em produtos de Web Semântica (uma extensão da internet, que permitirá a computadores e humanos trabalharem em maior cooperação), da ordem de $50 bilhões. Existem também empresas especializadas em técnicas inteligentes no exterior, que também se estendem a construir robôs [4]. Grandes empresas desenvolvendo ou utilizando IA: IBM, HP, Sun, Microsoft, Unisys, Google, Amazon.com, Oracle. Grandes empresas utilizando IA: Wal-Mart, Abbot Labs, US Bancorp, Lucas Arts, Electronic Arts... Órgãos governamentais utilizando IA: US National Security Agency O maior desafio está em entender como o ser humano usa suas habilidades, e assim descreve-las em modelos computacionais. O desenvolvimento de um sistema inteligente é demasiado diferente do de um sistema convencional. Quando se fala em sistema inteligente, existem diferentes tipos de abordagens. Dentre as habilidades humanas emuladas estão: Reconhecimento de padrões e imagens, Aprendizado, Resolução de problemas, Planejamento, Previsão, Simulação, Representação de conhecimento e Processamento de linguagem natural [5]. Já as aplica-

15 ções são praticamente indefinidas, pois um sistema capaz de algumas habilidades descritas acima poderia se encaixar em muitas áreas. A Inteligência Artificial tem seus questionamentos éticos e filosóficos, e por isso dividem a área em dois enfoques: IA fraca e IA forte [5]. A primeira acredita que é impossível o computador pensar e diz que os computadores apenas processam dados, não possuindo então quaisquer estruturas de cunho emocional, psicológico e outros (como os seres humanos). Já para a segunda, um defensor desse pensamento, Marvin Minsky, disse uma frase que a define, Cérebros são apenas máquinas feitas de carne. Essa corrente diz que se pode atribuir qualidades mentais ao funcionamento lógico de qualquer máquina com processamento computacional, inclusive o mais simples deles, o termostato. Define-se, portanto, a atividade mental como sendo apenas a realização de uma sequência bem definida de procedimentos, ou seja, a atividade mental de um cérebro nada mais é do que um algoritmo complexo. Todas as qualidades mentais, incluindo a consciência, seriam apenas características do funcionamento do algoritmo. O presente trabalho mostra o que a Inteligência Artificial pode fazer pelas organizações, no sentido de elucidar seus principais artifícios para aperfeiçoar processos, reduzir custos e inovar de uma forma geral dentro de uma empresa dos mais diversos ramos. O trabalho se organiza como segue. O capítulo 2 elucida as situações em que um sistema inteligente é a melhor opção de utilização. O campo da inteligência artificial se baseia em automação de funções mentais, como já foi dito, e para que isso aconteça, é necessário que haja um aprendizado por parte do programa. Falase superficialmente de aprendizado no capítulo 3. O capítulo 4 mostra a problemática da implementação dos sistemas. O capítulo 5 apresenta a conclusão do trabalho.

16 2 QUANDO USAR SISTEMAS INTELIGENTES 2.1 CASOS EM QUE SISTEMAS INTELIGENTES SÃO INDICADOS A pergunta crucial a ser feita é: sistemas inteligentes são a melhor maneira de implementar o aplicativo? Abaixo, definem-se situações em que o uso desse tipo de sistema é indicado: [14] A atividade é complexa e usa o raciocínio humano e conhecimento de um especialista. A atividade é normalmente realizada de forma manual por um especialista humano, que desenvolveu suas habilidades através de uma vasta e uma longa experiência, possuindo grande conhecimento do campo. A atividade pode ser descrita claramente em minuciosos detalhes. O desempenho de uma atividade é oportuno e adequado, porém não é perfeito, sendo realizado por uma pessoa ou software que atenda às expectativas da organização. Automação da atividade não é passível de solução simples de computação numérica. Se o cálculo numérico, teoricamente, for uma solução, seria necessário um longo período de tempo ou exigiria uma quantidade excessiva de recursos. A atividade envolve decisões que geralmente são feitas com base em conhecimento incerto, incompleto, probabilísticos, ou difusos, e que em termos de resultados nem sempre acabam por ser melhor em retrospecto. A atividade ocorre em um contexto que está sempre mudando ao longo do tempo (ou seja, é dinâmico). Para que uma solução melhor seja susceptível de ser feita por alguém (ou algum software), deve-se levar em conta as alte-

17 rações como elas acontecem, em vez de criar regras para tomada de decisão antes do tempo, tentando antever as mudanças que podem ocorrer. As pessoas costumam usar regras práticas (heurísticas) para encontrar soluções, e essas regras de trabalho funcionam na maioria das vezes, mas sem garantia de sucesso. Problemas que surgem para completar a atividade estão mal definidos. Quando o sucesso na atividade não é tão provável quebrando-a em tarefas menores para trabalhar em cada uma separadamente. Quando isso é feito, é observado que as interações entre as tarefas são tão complexas, que essas tarefas não podem realmente ser tratadas independentemente uma das outras. A atividade só pode ser realizada com sucesso se o contexto em que é realizada é tido em conta (ou seja, uma pessoa não poderia completá-la com sucesso se ela não prestou muita atenção ao que estava acontecendo em torno dela). A pessoa que desempenha a atividade é às vezes necessária para explicar as razões subjacentes a suas ações. A atividade não pode ser automatizada com sucesso usando sistemas convencionais. Outro tipo de avaliações para se usar IA, deverá ser feita quando se deseja obter um processo tecnológico em específico ou alcançar um objetivo geral: Aumentar a segurança dos dados dos usuários. Melhorar a forma de administrar uma empresa. Melhorar o sistema de produção. Aperfeiçoar processos. Reduzir custos. Etc. Quando se há necessidade de se obter uma tecnologia específica em termos de automatização: Planejamento Autônomo. Controle Autônomo. Diagnóstico Autônomo.

18 Robótica. Reconhecimento de Voz. Visão Computacional. Previsão. Mineração de Dados. 2.2 PRINCIPAIS APLICAÇÕES DE SISTEMAS INTELIGENTES As situações anteriores servem para enquadrarem um problema no campo da IA. Feita essa análise superficial, o executivo deverá analisar a viabilidade dessa mudança tecnológica dentro da sua realidade. Um exemplo de um problema: Problema: Um administrador que está no nível decisório de sua empresa precisa analisar dados estatísticos para se sair melhor no processo de tomada de decisão. Solução: Um sistema inteligente com redes neurais (Capítulo 3) poderá trazer inúmeros benefícios, pois é excelente em tratamento de dados e previsão de acontecimentos baseados em dados históricos. As aplicações práticas de IA para empresas e aplicações industriais de uma forma geral são: 2.2.1 Planejamento Autônomo O planejamento está intimamente ligado ao raciocínio. Um programa com capacidade de planear é capaz de fazer escolhas hipotéticas, estabelecer compromissos e ordenar as suas escolhas segundo os critérios que melhor servem os seus objetivos. O planejador consegue ainda avaliar se os compromissos tomados até então conduzem a um plano completo e coerente.

19 Assim funciona um planejador, ele fixa um objetivo, e atinge-o supervisionando um ou mais dispositivos capazes de realizar ações no mundo real. Este tipo de programas vem muitas vezes substituir os programas de busca que tentam passar de uma situação inicial (dados), através de sucessivas aplicações de transformações à representação dos dados do problema, para uma situação final (objetivos). O planejador aproxima-se muito mais de uma solução heurística e do processo como os humanos pensam [8], uma vez que estes procuram resolver problemas gerais, tomar decisões e raciocinar em interação com uma base de dados. O planejamento em inteligência artificial demonstra grande potencial de aplicação e utilidade prática, mesmo na sua vertente mais simplificada. Exemplos de planejadores são [5]: 1. O Deep Blue, o programa da IBM que venceu o campeão mundial de xadrez Kasparov em 1997. O programa foi capaz de elaborar planos estratégicos e adaptá-los às novas situações de jogo que foram surgindo. 2. Durante a crise do Golfo Pérsico em 1991, as forças armadas dos Estados Unidos distribuíram uma ferramenta denominada Dynamic Analysis and Replanning Tool, ou DART, a fim de realizar o planejamento logístico automatizado e a programação de execução do transporte. Isso envolveu até 50 000 veículos, transporte de carga aérea e de pessoal ao mesmo tempo, e teve de levar em conta os pontos de partida, destinos, rotas e resolução de conflitos entre todos os parâmetros. As técnicas de planejamento da IA permitiram a geração em algumas horas de um plano que exigiria semanas com outros métodos. A Defense Advanced Research Project Agency (DARPA) declarou que essa única aplicação compensou com folga os 30 anos de investimentos da DARPA em IA. 3. O programa Remote Agent da NASA se tornou o primeiro programa de planejamento automatizado (autônomo) de bordo a controlar o escalonamento de operações de uma nave espacial. O Remote Agent gerou planos de metas de alto nível especificadas a partir do solo e monitorou a operação da nave espacial à medida que os planos eram executados efetuando a detecção, o diagnóstico e a recuperação de problemas conforme eles ocorriam.

20 Esses exemplos demonstram constantemente que os investimentos em um bom planejamento automatizado produzem resultados que compensam largamente o esforço inicial, contanto, sabe-se que planejamentos automatizados são bastante custosos para serem desenvolvidos e, portanto, trazem retorno apenas quando seu uso será intenso e os resultados trarão uma real economia de esforços para os que o desenvolvem. Nestes casos, porém, esta vertente da inteligência artificial continua fornecendo ótimos resultados e representando uma grande vantagem sobre outras formas de desenvolvimento de soluções [8]. 2.2.2 Mineração de Dados (Data Mining) É o processo que trata de extrair ou minerar conhecimento de grandes volumes de dados. Os seguintes pontos são algumas das razões por que a Mineração de dados vem se tornando necessária para uma boa gestão empresarial: Os volumes de dados são muito importantes para um tratamento utilizando somente técnicas clássicas de análise. O usuário final não é necessariamente um estatístico. A intensificação do tráfico de dados (navegação na Internet, catálogos online, etc) aumenta a possibilidade de acesso aos dados. Esses exemplos demonstram constantemente que os investimentos em um bom planejamento automatizado produzem resultados que compensam largamente o esforço inicial. A Mineração de dados pode ser utilizada para [15]: Marketing: técnicas de mineração de dados são aplicadas para descobrir preferências do consumidor e padrões de compra, com o objetivo de realizar marketing direto de produtos e ofertas promocionais, de acordo com o perfil do consumidor. Detecção de fraudes: muitas fraudes óbvias (tais como, a compensação de cheque por pessoas falecidas) podem ser encontradas sem mineração de dados, mas padrões mais sutis de fraude podem ser difíceis de serem detecta-

21 dos, por exemplo, o desenvolvimento de modelos que predizem quem será um bom cliente ou aquele que poderá se tornar inadimplente em seus pagamentos. Medicina: caracterizar comportamento de paciente para prever visitas, identificar terapias médicas de sucesso para diferentes doenças, buscar por padrões de novas doenças. Instituições governamentais: descoberta de padrões para melhorar as coletas de taxas ou descobrir fraudes. Ciência: técnicas de mineração de dados podem ajudar cientistas em suas pesquisas, por exemplo, encontrar padrões em estruturas moleculares, dados genéticos, mudanças globais de clima, oferecendo conclusões valiosas rapidamente. Controle de processos e controle de qualidade: auxiliar no planejamento estratégico de linhas de produção e buscar por padrões de condições físicas na embalagem e armazenamento de produtos. Banco: detectar padrões de uso de cartão de crédito fraudulento, identificar clientes leais, determinar gastos com cartão de crédito por grupos de clientes, encontrar correlações escondidas entre diferentes indicadores financeiros. Apólice de seguro: análise de reivindicações, determinar quais procedimentos médicos são reivindicados juntos, prever quais clientes comprarão novas apólices, identificar padrões de comportamento de clientes perigosos, identificar comportamento fraudulento. Transporte: determinar as escalas de distribuição entre distribuidores, analisar padrões de carga. A Mineração de Dados é uma tecnologia que permite descobrir, em um grande banco de dados, informações que estão camufladas ou escondidas, resultando em agilidade nas tomadas de decisões através da análise de tendências e

22 comportamentos. Por isso, tem se tornado cada vez mais popular e largamente utilizada em variadas áreas de aplicações. A Mineração de Dados pode oferecer vantagens competitivas às organizações empresariais, pois permite identificar informações antes desconhecidas pelos tomadores de decisões, com relação ao sistema em uso. Sua realização, por outro lado, não é fácil, pois se compõe de um processo complexo por natureza, interativo, que envolve os usuários desde o princípio, e que deve manter-se alinhado às necessidades da organização em todas as etapas, sempre validando as etapas que forem concluídas junto aos usuários e ajustando-as, caso seja necessário [19]. 2.2.3 Reconhecimento de Voz Inicialmente, o reconhecimento processava-se apenas em modo discreto, isto é, o usuário tinha que fazer uma pausa entre cada palavra ditada. Atualmente, o usuário já tem a possibilidade de efetuar ditados contínuos ao computador. Além disso, o reconhecimento também se tornou mais inteligente, uma vez que possui um conjunto de regras gramaticais incorporadas, permitindo assim perceber melhor o que está sendo ditado. O reconhecimento de voz usa diferentes técnicas para reconhecer a voz humana. Funciona assim como uma "pipeline" que transforma os sinais áudio digitais provenientes da placa de som em fala reconhecida. Estes sinais passam por diversas etapas, ao longo das quais são aplicados métodos matemáticos e estatísticos de forma a tentar compreender o que está a ser ditado. O processamento da voz pode ser aplicado em quatro áreas principais: comandos por voz, fala natural, síntese de voz e autenticação de voz. Cada uma destas é descrita a seguir: O reconhecimento de palavras (utilizado nos comandos de voz) caracteriza-se por processar apenas um pequeno trecho de fala, de modo a identificar que tipo de ação o sistema deve tomar. Este processamento torna-se simplificado, uma vez que o sistema já sabe de antemão quais os comandos disponíveis

23 para o utilizador. Este é o caso de centrais de atendimento telefónico, onde o usuário pode usar a voz em vez de pressionar botões. O reconhecimento de fala natural (ou fala contínua) envolve uma ou mais frases, isto é, várias palavras que tenham um sentido semântico. A fala reconhecida é então convertida em texto. O tipo de aplicação mais comum para essa tecnologia é o ditado de documentos, para uso em processadores de texto, escrita de e-mails, etc. A síntese de voz é o processo contrário ao do reconhecimento da fala. O sintetizador recebe um texto na forma digital e transforma-o em ondas sonoras, ou em outras palavras, fazendo uma leitura em voz alta. Um programa de síntese de voz é útil nas situações em que o utilizador não pode desviar a atenção para ler algo ou não tem acesso ao texto escrito, seja porque a informação está distante ou porque o utilizador tem alguma deficiência visual. A autenticação baseia-se, por sua vez, no facto de que a voz é única para cada pessoa e pode ser utilizada para identificar alguém. Os sistemas de autenticação podem ser aplicados para permitir o acesso de uma pessoa a uma determinada função. Como se pode imaginar, o reconhecimento de voz apresenta ganhos significativos no processo de transcrever documentos para processadores de texto. Tirando vantagem do fato de que os seres humanos são capazes de ditar sete vezes mais rápido do que escrever consegue-se, em alguns casos, ganhos de produtividade de 60%. Contudo, as vantagens da tecnologia de reconhecimento de voz não estão limitadas aos ambientes de escritório, como se poderia pensar. Quando se está em viagem, por exemplo, pode-se utilizar um gravador digital para ditar memorandos, mensagens de correio eletrônico, ou notas de reunião que podem ser depois transcritas para vários programas. E uma vez que os gravadores estão ficando cada vez menores, quase nem damos conta quando transportamos um no bolso [9]. As possíveis aplicações não param por aqui. Um exemplo é a indústria da saúde, que se depara atualmente com fatores críticos de sucesso como a redução das despesas e aumento da eficiência. O reconhecimento de voz pode aqui ajudar as equipes médicas eliminando a necessidade de transcrever manualmente os rela-

24 tórios médicos, bastando para isso o uso de um pequeno aparelho portátil, parecido com um gravador, enquanto se procede ao diagnóstico dos pacientes. Do mesmo modo, numa seguradora, os ganhos podem ser imensos. Imaginemos que um inspetor de seguros está a avaliar um sinistro no terreno. Ao usar o reconhecimento de voz, é possível que, ao mesmo tempo em que este está a descrever o caso, os dados do processo comecem a chegar à seguradora, permitindo que o cliente veja o seu caso resolvido muito mais rapidamente [9]. Um exemplo típico de aplicação do reconhecimento de voz são as centrais telefónicas automáticas, nas quais o utilizador pode dizer naturalmente que deseja falar com uma determinada pessoa e o sistema repassa a chamada para o posto correspondente. Em caso de dúvida, por exemplo, no caso em que se pede para falar com uma determinada pessoa e existem mais pessoas com o mesmo nome na empresa/organização, o sistema interage com o cliente dando alternativas para que seja feita a escolha [9]. De uma forma geral a empresa deve ter conhecimento dos pontos importantes para uma efetiva implantação de reconhecimento de voz [20]: Definir uma estratégia de implementação da tecnologia de reconhecimento de voz dentro de uma abordagem consistente. A melhor alternativa no momento é criar um grupo técnico para acompanhar o desenvolvimento da tecnologia e ir adotando soluções que convirja para um padrão, mesmo que interno, que garanta a compatibilidade entre as aplicações. Esse grupo deve estar atento aos novos lançamentos do mercado e a evolução da tecnologia. O desenvolvimento e manutenção de aplicações de reconhecimento de voz exigem um grande conhecimento técnico. Esse conhecimento, num primeiro estágio, deve ser transferido do fornecedor do produto para os especialistas internos. As empresas devem definir uma arquitetura de reconhecimento de voz e um plano de curto, médio e longo prazo. Esse plano de contemplar ações para um e dois anos e, se possível, para os próximos três anos. Um ponto chave a ser definido é se a empresa adotará um padrão aberto internacional ou se apoiará na estratégia de um fornecedor. A vantagem da adoção de um único

25 fornecedor é a garantia, na maioria dos casos, de compatibilidade na integração das aplicações. Entretanto, a estratégia de um único fornecedor pode limitar a adoção de novas aplicações que exijam outras tecnologias não desenvolvidas pelo fornecedor escolhido. Porém, adotar uma estratégia de padrão aberto requer um grande esforço, experiência e investimento por parte da empresa. Um ponto importante na estratégia é definir a infra-estrutura necessária para suportar o reconhecimento de voz. Isso incluir: URA Unidade de Reconhecimento Audível, portais na Internet com suporte a voz, aplicações sem fio, PABX, áudio conferência, atendimento automático de chamadas, auxilio a lista telefônica e as tecnologias de troca de mensagens (e-mail, correio de voz e serviços integrados de mensagens unified messaging). O reconhecimento de voz é uma tecnologia complexa e deverá ser utilizada para integrar a voz em várias aplicações empresariais. Isso requererá experiência para o desenvolvimento dessas aplicações. As empresas deverão fazer investimentos para melhorar a infraestrutura para uma integração total das aplicações e ter consciência que as soluções pontuais poderão ser de curto prazo, sem proteger os investimentos [20]. 2.2.4 Visão Computacional Refere-se ao processamento digital de imagens para a extração de características importantes, que auxiliem na compreensão da imagem e na tomada de decisões inteligentes. Enquadra-se este tipo de operação de processamento como de alto nível (alto grau de abstração), sendo comum a utilização de técnicas de inteligência artificial para o processamento dos dados. Um exemplo seria o reconhecimento e a classificação de um objeto da imagem. Os algoritmos de inteligência artificial têm ganhado vasto campo de aplicação na área de processamento de imagens, sendo utilizados para diversas tarefas de alto nível. São normalmente empregados em tomadas de decisão e processa-

26 mento inteligente, podendo receber desde imagens em sua entrada, como também dados ou características provenientes da saída de algum outro algoritmo de processamento de imagens para realizar seu processamento. Algumas aplicações na qual se empregam tais técnicas seriam: na classificação inteligente de padrões, na tomada de decisões a partir de um conjunto de regras, na procura por melhores pontos semente para algoritmos de segmentação, dentre outros. As principais aplicações industriais são as seguintes [10]: Controle de Qualidade: rígido monitoramento sobre características particulares de produtos industriais, procurando evitar o contato de produtos defeituosos com o mercado consumidor. Exemplos: verificação de números de lote, lacres, rótulos, referências e datas de validade em embalagens, inspeção de placas de circuito impresso, inspeção de ampolas e comprimidos (Figura 2.1). Controle de Processos Industriais: manipulação de peças em linhas industriais e monitoramento de parâmetros fundamentais para o bom desempenho de processos industriais, visando realimentar o sistema corrigindo estes parâmetros quando necessário. Exemplos: alinhamento de peças em linhas automotivas, orientação de robôs de solda, pintura ou manipuladores, monitoramento de parâmetros de corte em processos de usinagem (Figura 2.2). Rastreabilidade: localização e reconhecimento de informações codificadas sobre a superfície de produtos. Exemplos: leitura de códigos de barras, localização e leitura de códigos bidimensionais em linhas de montagem, identificação de toras na indústria madeireira. Segurança: certificação de permissões e monitoramento de ambientes. Exemplos: inspeção de bagagens por raios-x, reconhecimento de íris e impressões digitais, leitura de placas de automóveis, monitoramento inteligente de ambientes por detecção de movimento. Escritório: dispositivos e sistemas para ampliar a comunicação e armazenamento de informações. Exemplos: videoconferências, escaneamento de imagens e textos (OCR/OCV), controle de sistemas computacionais para deficientes físicos.

27 Figura 2.1: Controle de Qualidade Figura 2.2: Controle de Processo Industrial O uso de inspeções automatizadas na indústria vem se tornando cada vez mais uma solução interessante para análise de conformidade de peças. Em processos de manufatura devem ser avaliados: tolerâncias dimensionais, tolerâncias geométricas, ajustagem, incertezas e defeitos de fabricação. Com a evolução e redução dos preços das câmeras digitais, torna-se atrativo investir em sistemas de Visão Computacional para realização de medições e inspeções. Sistemas deste tipo podem oferecer exatidão e repetitividade em medições sem contato, especialmente por eliminar aspectos como subjetividade, fadiga, lentidão e custo associados à inspeção humana. Em sistemas automatizados de medição por imagem, o problema principal consiste em saber combinar a tecnologia a uma aplicação específica de uma maneira econômica e com a qualidade requerida. Não há um sistema que resolva todos os desafios industriais, os sistemas são específicos e configurados para cada aplicação. O desenvolvimento de sistemas robustos de visão industrial e com a ne-

28 cessária exatidão torna-se, portanto, um desafio, porém, com seus benefícios quando bem implementados. [20]

29 3 PRINCIPAIS ASPECTOS DE UM SISTEMA INTELIGENTE Para haver comportamento inteligente, o sistema deverá emular ou efetuar algumas das atividades abaixo [5]: Aprender com a experiência. Aplicar o conhecimento adquirido da experiência. Tratar situações complexas. Resolver problemas quando faltam informações importantes. Determinar o que é mais importante. Capacidade para raciocinar e pensar. Reagir rápida e corretamente às novas situações. A utilização de heurísticas para resolução de problemas. Ainda não há um sistema inteligente que se propõe a fazer com perfeição as atividades acima, contudo, com o decorrer do tempo, os pesquisadores desenvolveram diferentes abordagens para se chegar à fórmula do comportamento inteligente, ou seja, um sistema efetivamente inteligente. Existem dois paradigmas em Inteligência Artificial, a saber: Inteligência Artificial Simbólica (IAS) e Inteligência Artificial Conexionista (IAC). Na Inteligência Artificial Simbólica o comportamento inteligente global é simulado, sem considerar os mecanismos responsáveis por este comportamento. Na Inteligência Artificial Conexionista acredita-se que construindo máquina que imite a estrutura do cérebro ela apresentará inteligência. Os sistemas especialistas são do paradigma simbólico, e as redes neurais, do conexionista. Os pesquisadores também aproveitaram ou desenvolveram técnicas sofisticadas para impulsionar a evolução de sistemas inteligentes, resultando na criação dos sistemas híbridos, um tipo de sistema que utiliza uma ou mais técnicas em inteligência artificial. Algumas das principais técnicas são a Lógica Difusa (Fuzzy) e os Algoritmos Genéticos Um fato que deve ficar bem assimilado até esse ponto do trabalho, é a diferença entre pesquisa em inteligência artificial, e o uso de sistemas inteligentes no

30 meio organizacional. Os sistemas são baseados nos resultados de pesquisas científicas. O avanço das pesquisas contribui para o aumento na efetividade dos sistemas inteligentes, a cada resultado alcançado em pesquisa pode se melhorar a qualidade dos sistemas. 3.1 PARADIGMAS DE SISTEMAS INTELIGENTES 3.1.1 Sistemas especialistas Esse tipo de sistema é chamado de especialista, pois o mesmo foi idealizado para ter a função de um especialista de uma determinada área, ou apoiá-lo. Como um clássico exemplo, tem-se o caso de um médico e de um sistema especialista que o auxilia no diagnóstico de doenças. Funcionam à base das chamadas regras de produção, para manipulação de conhecimento. Essa manipulação é chamada de representação de conhecimento. Existem vários tipos de representação, porém ultimamente a mais utilizada é a Orientação a Objetos Associada a Regras [6], que pode ser utilizada nas chamadas shells de desenvolvimento. Um exemplo é a ferramenta de desenvolvimento CLIPS, open-source, que utiliza Orientação a Objetos (OO) associado às regras. Regras tem uma estrutura do tipo, condição-ação: Se condição (premissa ou antecedente) ocorre então ação (resultado, conclusão ou consequente), bem similar a estruturas condicionais da programação convencional, porém, aqui é dado ênfase ao conhecimento, e o seu significado. Um exemplo de regras de produção pode ser [7]: O especialista colocou as seguintes regras: gripe. --- Se alguém tem febre e tem coriza, então tem 60 % de evidências de

31 --- Se alguém tem febre e tem coceira, então tem 80 % de evidências de urticária. --- Se alguém tem febre e tem coriza, e tem menos de 10 anos então tem 90% de evidências de virose. Essas regras podem ser armazenadas de maneira simbólica: ---(febre coriza) (gripe 0.6) ---(febre coceira) (urticária 0.8) ---(febre coriza idade<10) (virose 0.6) Um bom conjunto de regras bem formadas torna o sistema capaz de exercer funções básicas humanas, que podem ser de grande ajuda. Sabe-se que os estudos e avanços desse tipo de sistema já chegaram à maturidade. Seu ponto de partida foi muito ambicioso, que era a possibilidade de substituir um especialista em uma função específica, porém surgiram problemas como: além do conhecimento específico da função, para resolver problemas, um especialista deve ter o senso comum, que é algo demasiado subjetivo para um sistema computacional. Em situações específicas, a falta de um tipo de conhecimento pode levar o sistema especialista a gerar uma resposta não razoável. Por causa dessa fragilidade, esse tipo de sistema é muito mais usado como assistentes na resolução de problemas do que propriamente como os responsáveis definitivos pela tomada de decisão [6]. Um sistema de diagnóstico pode auxiliar um médico a entender o que pode vir a ser uma determinada doença, ou auxiliar geólogos, onde é mais provável de ser encontrado petróleo numa determinada região. Esses sistemas podem ser dos tipos [7]: Interpretação: Sistemas que inferem descrições de situações à partir da observação de fatos fazendo uma análise de dados e procurando determinar as relações e seus significados. Diagnósticos: Sistemas que detectam falhas oriundas da interpretação de dados. Monitoramento: Interpreta as observações de sinais sobre o comportamento monitorado.

32 Predição: A partir de uma modelagem de dados do passado e do presente, este sistema permite uma determinada previsão do futuro. Planejamento: O sistema prepara um programa de iniciativas a serem tomadas para se atingir um determinado objetivo. Projeto: Sistema capaz de justificar a alternativa tomada para o projeto final, e de fazer uso dessa justificativa para alternativas futuras. Depuração: Trata-se de sistemas que possuem mecanismos para fornecerem soluções para o mau funcionamento provocado por distorções de dados. Reparo: O sistema desenvolve e executa planos para administrar os reparos verificados na etapa de diagnóstico. Instrução: O sistema de instrução tem um mecanismo para verificar e corrigir o comportamento do aprendizado dos estudantes. Controle: Sistema que governa o comportamento geral de outros sistemas (não apenas de computação). É o mais completo, de um modo geral, pois deve interpretar os fatos de uma situação atual, verificando os dados passados e fazendo uma predição do futuro. Apresenta os diagnósticos de possíveis problemas, formulando um plano ótimo para sua correção. Este plano de correção é executado e monitorado para que o objetivo seja alcançado. O projeto de um sistema especialista se assemelha ao projeto de um sistema convencional, e se baseia na aquisição de conhecimento. O engenheiro de conhecimento é o responsável por transformar o conhecimento de um especialista humano em modelos computacionais para que estes possam servir de aprendizado para a máquina. A rotina dessa profissão se dedica a interação com o especialista, que responde a questionamentos e participam de entrevistas, para que seja extraído o conhecimento útil que será usado pelo sistema. Ela se assemelha ao analista de sistema de um sistema convencional que é responsável pela engenharia de requisitos. Um sistema especialista deve, além de deduzir conclusões, aprender e assim melhorar seu desempenho e a qualidade de suas decisões, através de com-

33 paração com respostas e hipótese anterior baseadas nos fatos vai formulando novas hipóteses que irão influenciar nas próximas decisões. [6]: O processo de desenvolvimento de um sistema especialista é dividido em Planejamento do Sistema. Aquisição de conhecimento. Implementação do Sistema. Verificação e Refinamento do Sistema. As áreas de aplicação e seus respectivos sistemas especialistas são os seguintes: Administração: FOLIO ajuda administradores a determinar metas de investimentos de clientes e selecionar portfólios; Advocacia: JUDITH ajuda advogados a argumentar a respeito de casos de lei civil; Agricultura: POMME ajuda no trato de macieiras; Computação: XCON configura sistemas computacionais para clientes; Eletrônica: SOPHIE ensina estudantes a respeito de circuitos elétricos Engenharia: REACTOR assiste operadores de reatores no diagnóstico e tratamento de acidentes nucleares; Física: GAMMA ajuda físicos nucleares a identificar composição de substâncias desconhecidas; Medicina: MYCIN ajuda no diagnóstico e tratamento de doenças infecciosas; o ONCOCIN ajuda no tratamento de pacientes com câncer. 3.1.1.1 Vantagens As principais vantagens na utilização de sistemas especialistas são:

34 Redução da carga de trabalho do especialista; Armazenamento permanente do conhecimento especializado Facilidade de transferência e reprodução do conhecimento especializado; Facilidade de documentação Baixo custo operacional Maior disponibilidade do conhecimento especializado aos demais; Retenção da experiência; 3.1.1.2 Desvantagens e Limitações As principais desvantagens decorrentes da utilização de sistemas e especialistas [16] [17], são: Os sistemas especialistas tendem a trabalhar de uma forma rotineira, sem inspiração ou criatividade, onde não é sintetizado novo conhecimento. Dificuldade de lidar com situações inesperadas. Entrada de informação e representação simbólica, sem entendimento, por parte do sistema, do significado das palavras. É relativamente difícil a implantação de um sistema que aprenda com a experiência. Não possui conhecimento do senso comum. Há também problemas com relação às explosões combinatórias em espaços de buscas, dificuldades de manutenção de sistemas com uma grande quantidade de conhecimento e receber e integrar conhecimento de vários especialistas. As limitações reais experimentadas através das muitas utilizações de Sistemas Especialistas desde o primeiro impulso da IA, e todo ânimo envolta das novas descobertas foram bastante desanimadoras para a comunidade científica. O desenvolvimento desses sistemas tem custo relativamente alto e prazos longos de entre-

35 ga. Para os casos de sucesso, são válidas todas as vantagens apresentadas na seção anterior. Efetivamente só para poucos problemas há possibilidades de abordagem em Sistemas Especialistas na organização. Pode-se afirmar que esses problemas estão nas áreas técnicas, sendo bem estruturados. Em áreas não técnicas as perspectivas são menores, devido à proliferação de problemas mal estruturados. Antes de se planejar a utilização de um sistema especialista, deve se estudar bem as alternativas. Um bom exemplo de alternativa seria a utilização de um sistema convencional, que serve pelo menos em uma parte do processo, e se comparado a um sistema especialista é mais barato, porém menos eficiente. Logo, boa parte das alternativas pode servir como solução, levando-se em conta o custo benefício. Apesar disso tudo, os sistemas especialistas quando bem projetados e bem implantados, tem ótimos benefícios. Sem dúvida, eles têm seu lugar dentro da área de informática [18]. 3.1.2 Redes Neurais Pode-se dizer que redes neurais artificiais consistem em um modo de abordar a solução de problemas de inteligência artificial. Neste caso, em lugar de tentar programar um computador digital de modo a fazê-lo imitar um comportamento inteligente (saber jogar xadrez, compreender e manter um diálogo, traduzir línguas estrangeiras, resolver problemas de matemática tais como se encontram nos primeiros anos dos cursos de engenharia, etc.) procura-se construir um computador que tenha circuitos modelando os circuitos cerebrais e espera-se ver um comportamento inteligente emergindo, aprendendo novas tarefas, errando, fazendo generalizações e descobertas, e frequentemente ultrapassando seu professor. Da mesma forma, estes circuitos neurais artificiais poderão se auto-organizar, quando apresentados à ambientes diversos, criando suas próprias representações internas e apresentar comportamentos imprevisíveis. E, melhor ainda, (ou pior) ter um comportamento que nem sempre se pode prever e compreender, tal como hoje não compreendemos mecanismos do nosso próprio cérebro. Ficção científica? Não! Trata-se sim de uma

36 tecnologia que depois de um tempo de latência, emerge encontrando aplicações concretas, algumas das quais serão mencionadas mais adiante. 3.1.2.1 Redes Neurais Biológicas Procura-se imitar artificialmente as características das redes neurais biológicas, um neurônio é mostrado na figura 3.1. O neurônio tem um corpo celular chamado soma e diversas ramificações. As ramificações conhecidas como dendritos, conduzem sinais das extremidades para o corpo celular. Existe também uma ramificação, geralmente única, chamada axônio, que transmite um sinal do corpo celular para suas extremidades. As extremidades do axônio são conectadas com dendritos de outros neurônios pelas sinapses. Em muitos casos, um axônio é diretamente conectado com outros axônios ou com o corpo de outro neurônio. Figura 3.1: Esquema básico de um neurônio. As sinapses têm um papel fundamental na memorização da informação e são armazenadas principalmente pelo córtex cerebral e algumas vezes por partes mais profundas do cérebro. Pode-se imaginar que em cada sinapse, a quantidade de neurotransmissores, que podem ser liberados para uma mesma frequência de pulsos do axônio, representa a informação armazenada nesta sinapse. O lugar onde a sinapse ocorre, ou fenda sináptica, é mostrada na figura 3.2.

37 Seguindo um princípio frequentemente válido em biologia, o de que o uso de um órgão favorece seu desenvolvimento, cada vez que uma sinapse é ativada e encontra ativado ou consegue ativar outro neurônio, o número de neurotransmissores liberados aumenta na próxima vez que o neurônio for ativado. Isto representa um aumento da conexão entre os dois neurônios. Este processo chama-se facilitação. Um neurônio tem de 1000 a 10000 sinapses e pode receber informação de perto de 1000 outros neurônios. Figura 3.2 Fenda Sináptica O mecanismo de facilitação inspirou a conhecida Lei de Hebb: A intensidade de uma conexão sináptica entre dois neurônios aumenta quando os dois neurônios estão excitados simultaneamente. Note-se que a Lei de Hebb é básica de muitos algoritmos de aprendizagem de RNA. Existem dentro e fora das células concentrações diferentes de Na+ e K que provocam um ponto de equilíbrio de -85 milivolts, o interior da célula negativo com relação ao exterior. Qualquer perturbação da membrana do neurônio provoca uma série de modificações que desaparecem também rapidamente, e durante as quais o potencial se torna positivo durante um curto espaço de tempo. A esta onda de variação de tensão chama-se potencial de ação.

38 Quando o potencial de ação se propaga pelo axônio, chega a uma de suas terminações. Nisso ele provoca modificações na membrana destas terminações, as sinapses. Isto permite a liberação de moléculas, de vários tipos com o nome genérico de neurotransmissores que se difundem no espaço entre o terminal do axônio e outro neurônio, geralmente o terminal de um dendrito. Moléculas de neurotransmissor ao se colar ao dendrito provocam uma modificação na membrana deste, que acaba, algumas vezes, provocando um potencial de ação, outras vezes, dificultando seu aparecimento. Este potencial de ação, se criado, se propaga até o soma do neurônio que recebeu o sinal alterando sua frequência de disparo. Pode-se dizer, portanto, que a transmissão de informação entre neurônios depende do tipo de neurotransmissor e de sua abundância no terminal sináptico e da sensibilidade da membrana dendrítica às excitações. Desta forma, modificando a intensidade com que um neurônio é capaz de excitar (ou inibir) outro neurônio, depende de características sinápticas, e são estes valores de conexões que globalmente são responsáveis pelo comportamento da rede de neurônios. Mudando valores destas conexões muda-se o comportamento da rede. E estas mudanças de comportamento representam um aprendizado da rede. Como o comportamento de uma rede neural depende diretamente dos valores de suas conexões sinápticas, o estudo de redes neurais tem também o nome de Conexionismo. 3.1.2.2 Modelo de Rede Neural Uma rede neural artificial é composta por várias unidades de processamento, cujo funcionamento é bastante simples. Essas unidades, geralmente são conectadas por canais de comunicação que estão associados a determinado peso e fazem operações apenas sobre seus dados locais, que são entradas recebidas pelas suas conexões. O comportamento inteligente de uma Rede Neural Artificial vem das interações entre as unidades de processamento da rede. A operação de uma unidade de processamento, proposta por McCullock e Pitts em 1943, pode ser resumida da seguinte maneira (veja Figura 3.3):

39 Sinais são apresentados à entrada; Cada sinal é multiplicado por um número, ou peso, que indica a sua influência na saída da unidade; É feita a soma ponderada dos sinais que produz um nível de atividade; Se este nível de atividade exceder certo limite (threshold) a unidade produz uma determinada resposta de saída. Figura 3.3 Modelo de McCulloch e Pits O neurônio artificial é composto, basicamente, por um conjunto de entradas x1, x2, xn, uma saída y, uma função responsável pelo cálculo da entrada efetiva para o neurônio (Σ) denominada função soma, uma função de ativação e uma função de transferência, como se pode ver na figura 3.4. As entradas são conectadas ao corpo do neurônio através de conexões, denominadas conexões sinápticas, sendo que cada uma possui um peso associado. Os pesos representam o conhecimento da rede e determinam a importância que determinada entrada possui. Quanto mais estimulada uma conexão sináptica, mais freqüente a atualização do respectivo peso e, consequentemente, maior a influência desta entrada na produção da saída. Uma vez que a entrada para um determinado neurônio é calculada, o valor resultante é comparado ao um limiar (valor estipulado) que, uma vez atingido, propaga a saída para os neurônios da cama seguinte. A propagação da saída para os demais neurônios é realizada pela função de transferência. Existem diversas funções de transferência e sua escolha depende do problema a ser resolvido que, por sua vez determina que arquitetura de rede neural deva ser utilizada.

40 Figura 3.4: Modelo simplificado de um neurônio artificial. O ajuste sináptico representa o aprendizado de cada neurônio. O conhecimento de uma RNA está distribuído por toda a rede, ou seja, nenhum neurônio retém em si todo o conhecimento, mas sua operação em conjunto permite às RNAs resolver problemas complexos, que não podem ser resolvidos usando técnicas computacionais convencionais. Tal ajuste é realizado através de um cálculo que procura promover o ajuste dos pesos sinápticos de forma a minimizar a diferença entre a saída produzida e a saída desejada até que, para determinada entrada, a respectiva saída seja produzida. O cálculo abaixo visa somar ao peso atual, o erro gerado pela rede e, dessa forma, corrigir o valor do peso. Existem inúmeros cálculos para este fim, o trabalho se limitará à conhecida Regra Delta, descrita abaixo: wi(n + 1) = wi(n) + i i = c * g * xi Onde: wi(n + 1): Novo peso wi(n): peso atual i: correção associada à entrada i c: taxa de aprendizado (normalmente é 1 quando a rede opera com valores binários) g = saída desejada saída obtida Deve-se levar em conta que os neurônios na maioria das aplicações são agrupados, e formam uma rede neural, como na figura 3.5 que representa uma rede bem simples.

41 Figura 3.5 Rede Neural em camadas 3.1.2.3 Um exemplo de ajuste sináptico (melhore a formatação (figuras) deste exemplo). Um exemplo simples [12] para entender quando, onde e como aplicar a regra delta. Um neurônio artificial opera recebendo uma entrada X, a partir da qual uma saída Y é gerada. A resposta é considerada correta se a saída produzida for igual à saída desejada, caso contrário, um ajuste de pesos se faz necessário. O cálculo do erro da seguinte forma: taxa de aprendizado = 1 erro = saída desejada saída produzida novo peso = peso antigo + (erro*entrada*taxa de aprendizado) Essa rede neural será formada por apenas um neurônio, conhecida como Perceptron [13], com duas entradas, e deseja-se que ela aprenda o seguinte: Entrada {1,1} deverá produzir saída = {1} Entrada {0, 0} deverá produzir saída = {0} Os pesos são inicializados com {0, 0} (Figura 3.6), e a função de transferência utilizada é: Se resultado <= 0; Resultado = 0; Se resultado > 0; Resultado = 1.