IA Simbólica X IA Conexionista - Unisul
IA Simbólica X IA Conexionista - Unisul
IA Simbólica X IA Conexionista - Unisul
Transforme seus PDFs em revista digital e aumente sua receita!
Otimize suas revistas digitais para SEO, use backlinks fortes e conteúdo multimídia para aumentar sua visibilidade e receita.
Universidade do Sul de Santa Catarina – UNISULCiência da Computação e Sistemas de InformaçãoDisciplina: Inteligência AplicadaProf. Max (max@unisul.br)Anotações 6 ae 7 a Aulas<strong>IA</strong> <strong>Simbólica</strong> X <strong>IA</strong> <strong>Conexionista</strong><strong>IA</strong> <strong>Simbólica</strong>• Um sistema simbólico é capaz de manifestar um comportamento inteligente.• comportamento inteligente global é simulado, sem considerar os mecanismosresponsáveis por este comportamento.Princípios da <strong>IA</strong> <strong>Simbólica</strong>A estratégia fundamental que sustentou boa parte do sucesso inicial da <strong>IA</strong> simbólica, sedeve a proposta conhecida como “Physical Symbol Systems Hypothesis”, de Newell eSimon.Physical Symbol Systems – Newell & Simon (1976)“A physical symbol system consists of a set of entities, called symbols, which are physicalpatterns that can occur as components of another type of entity called na expression (orsymbol structure)...the system also includes a collection of processes that operate onexpressions to produce other expressions; processes of creation, modification, reproductionand destruction. A physical symbol system is a machine that produces through time anevolving collection of symbol structures. Such a system exists in a world of objects widerthan just these symbolic expressions themselves”.<strong>IA</strong> <strong>Conexionista</strong>Se for construído um modelo suficientemente preciso do cérebro, este modelo apresentaráum comportamento inteligente. Se apenas uma pequena parte do cérebro for reproduzida, afunção exercida por esta parte emergirá do modelo.As origens das redes neurais artificiais remontam no desejo de construir artefatos capazesde exibir comportamento inteligente.Computação Baseada em Instruções• Se baseiam na execução de instruções para a realização do processamento desejado.1
• Adotam uma abordagem algorítmica para a solução de problemas.• A abordagem algorítmica para a solução de problemas pode ser extremamente eficientedesde que se conheça exatamente a sequência de instruções a serem executadas pararesolução do problemaComputação “Neural”• Existem uma série de problemas que os seres vivos, e os seres humanos em particular,parecem resolver de maneira inata.• processamento de imagens, o reconhecimento da fala, a recuperação de informações demaneira associativa, a filtragem adaptativa de sinais, o aprendizado de novos fatos eidéias, etc.• Se o cérebro dos seres vivos parece ser adequado para resolver os problemas nãoalgorítmicos, deve se buscar uma abordagem que procure se inspirar no funcionamentodo cérebro para solução dos problemas<strong>IA</strong> <strong>Simbólica</strong> X <strong>IA</strong> <strong>Conexionista</strong>• Conhecimento representado por regras (ou outra estrutura similar) que podem serfacilmente tratadas e analisadas.• Permite a explicação do processo que levou a uma determinada resposta.• Fácil inserção de novos conhecimentos obtidos a partir do especialista ou através demétodos automáticos de aquisição de conhecimento.• Necessidade de se trabalhar com conhecimentos completos e exatos sobre umdeterminado problema.• Dificuldade de explicar todos os conhecimentos relativos ao problema através de regrassimbólicas.• Dificuldade para tratar informações imprecisas ou aproximadas, e valores numéricos(dados quantitativos).• Exemplo: regular a temperatura da água do banho.Interesses em usar Redes NeuraisPsicólogosEstão vendo possibilidades de construir redes neurais artificiais e ver aparecercomportamentos emergentes tais como o aprendizado de novos conceitos, ajudando acompreensão dos mecanismos do aprendizado.NeurofisiologistasEstão interessados em ver as RNAs como metáfora cerebral e, por simulação, melhorar oconhecimento dos mecanismos cerebrais. (estudar a capacidade de memorização, porexemplo).2
Cientistas CognitivosSe empenham em usar as RNAs para um melhor conhecimento dos mecanismos envolvidosno processo cognitivo (qual o melhor método de aprendizado?).EngenheirosOlham as RNAs como um caminho para, implementando estas redes em circuitos elétricos,ter computadores realmente paralelos e distribuídos.Muitos encontraram no aprendizado de RNAs um campos para aplicar o que se conhece dateoria da otimização.Cientistas da ComputaçãoEncontraram um novo paradigma de programação e uma arquitetura distribuída. Explorareste paradigma, analisando suas capacidades e complexidades computacionais,desenvolvendo técnicas de programação, aplicações, etc. é um desafio.Redes Neurais ArtificiaisO desenvolvimento de redes neurais começou há aproximadamente 50 anos atrás, motivadopelo desejo de entender o cérebro e simular algumas de suas funções.Funções:- Armazenar e recuperar dados ou padrões- Classificar padrões- Executar o mapeamento de padrões de entrada e saída- Agrupar padrões semelhantes- Encontrar soluções para otimização de problemas.CaracterísticasUma grande rede neural artificial pode ter centenas ou milhares de unidades deprocessamento; já o cérebro de um mamífero pode ter muitos bilhões de neurônios.O sistema nervoso é formado por um conjunto extremamente complexo de células, osneurônios. Eles têm um papel essencial na determinação do funcionamento ecomportamento do corpo humano e do raciocínio. Os neurônios são formados pelosdendritos, que são um conjunto de terminais de entrada, pelo corpo central, e pelos axôniosque são longos terminais de saída.3
Constituíntes da célula neuronal - esquema.Os neurônios se comunicam através de sinapses. Sinapse é a região onde dois neurôniosentram em contato e através da qual os impulsos nervosos são transmitidos entre eles. Osimpulsos recebidos por um neurônio A, em um determinado momento, são processados, eatingindo um dado limiar de ação, o neurônio A dispara, produzindo uma substâncianeurotransmissora que flui do corpo celular para o axônio, que pode estar conectado a umdendrito de um outro neurônio B. O neurotransmissor pode diminuir ou aumentar apolaridade da membrana pós-sináptica, inibindo ou excitando a geração dos pulsos noneurônio B. Este processo depende de vários fatores, como a geometria da sinapse e o tipode neurotransmissor.Em média, cada neurônio forma entre mil e dez mil sinapses. O cérebro humano possuicerca de 10 bilhões de neurônios, e o número de sinapses é de mais de 10 mil,possibilitando a formação de redes muito complexas.Um Breve HistóricoUm histórico resumido sobre Redes Neurais Artificiais deve começar por três das maisimportantes publicações iniciais, desenvolvidas por: McCulloch e Pitts (1943), Hebb(1949), e Rosemblatt (1958). Estas publicações introduziram o primeiro modelo de redesneurais simulando “máquinas”, o modelo básico de rede de auto-organização, e o modeloPerceptron de aprendizado supervisionado, respectivamente.Alguns históricos sobre a área costumam “pular” os anos 60 e 70 e apontar um reínicio daárea com a publicação dos trabalhos de Hopfield (1982) relatando a utilização de redessimétricas para otimização e de Rumelhart, Hinton e Williams que introduziram o poderosométodo Backpropagation.Entretanto, para se ter um histórico completo, devem ser citados alguns pesquisadores querealizaram, nos anos 60 e 70, importantes trabalhos sobre modelos de redes neurais em4
visão, memória, controle e auto-organização como: Amari, Anderson, Cooper, Cowan,Fukushima, Grossberg, Kohonen, von der Malsburg, Werbos e Widrow.Características Gerais das Redes NeuraisUma rede neural artificial é composta por várias unidades de processamento, cujofuncionamento é bastante simples. Essas unidades, geralmente são conectadas por canais decomunicação que estão associados a determinado peso. As unidades fazem operaçõesapenas sobre seus dados locais, que são entradas recebidas pelas suas conexões. Ocomportamento inteligente de uma Rede Neural Artificial vem das interações entre asunidades de processamento da rede.A operação de uma unidade de processamento, proposta por McCulloch e Pitts em 1943,pode ser resumida da seguinte maneira:• sinais são apresentados à entrada;• cada sinal é multiplicado por um número, ou peso, que indica a sua influência nasaída da unidade;• é feita a soma ponderada dos sinais que produz um nível de atividade;• se este nível de atividade exceder um certo limite (threshold) a unidade produz umadeterminada resposta de saída.Esquema de unidade McCulloch - Pitts.Suponha que tenhamos p sinais de entrada X 1 , X 2 , ..., X p e pesos W 1 , W 2 , ..., W p e limiar t;com sinais assumindo valores booleanos (0 ou 1) e pesos valores reais.Neste modelo, o nível de atividade a é dado por:a = W 1 X 1 + W 2 X 2 + ... + W p X pA saída y é dada por:y = 1, se a >= t ouy = 0, se a < t.5
A maioria dos modelos de redes neurais possui alguma regra de treinamento, onde os pesosde suas conexões são ajustados de acordo com os padrões apresentados. Em outraspalavras, elas aprendem através de exemplos.Arquiteturas neurais são tipicamente organizadas em camadas, com unidades que podemestar conectadas às unidades da camada posterior.Organização em camadas.Usualmente as camadas são classificadas em três grupos:• Camada de Entrada: onde os padrões são apresentados à rede;• Camadas Intermediárias ou Escondidas: onde é feita a maior parte doprocessamento, através das conexões ponderadas; podem ser consideradas comoextratoras de características;• Camada de Saída: onde o resultado final é concluído e apresentado.Uma rede neural é especificada, principalmente pela sua topologia, pelas características dosnós e pelas regras de treinamento.Processos de AprendizadoA propriedade mais importante das redes neurais é a habilidade de aprender de seuambiente e com isso melhorar seu desempenho. Isso é feito através de um processoiterativo de ajustes aplicado a seus pesos, o treinamento. O aprendizado ocorre quando arede neural atinge uma solução generalizada para uma classe de problemas.Denomina-se algoritmo de aprendizado a um conjunto de regras bem definidas para asolução de um problema de aprendizado. Existem muitos tipos de algoritmos de6
aprendizado específicos para determinados modelos de redes neurais, estes algoritmosdiferem entre si principalmente pelo modo como os pesos são modificados.Outro fator importante é a maneira pela qual uma rede neural se relaciona com o ambiente.Nesse contexto existem os seguintes paradigmas de aprendizado:• Aprendizado Supervisionado, quando é utilizado um agente externo que indica àrede a resposta desejada para o padrão de entrada;• Aprendizado Não Supervisionado (auto-organização), quando não existe umaagente externo indicando a resposta desejada para os padrões de entrada;Denomina-se época ou ciclo uma apresentação de todos os N pares (entrada e saída) doconjunto de treinamento no processo de aprendizado. A correção dos pesos num ciclo ouépoca pode ser executado de dois modos:1) Modo Padrão: A correção dos pesos acontece a cada apresentação à rede de umexemplo do conjunto de treinamento. Cada correção de pesos baseia-se somente no errodo exemplo apresentado naquela iteração. Assim, em cada ciclo/época ocorrem Ncorreções.2) Modo Batch: Apenas uma correção é feita por ciclo/época. Todos os exemplos doconjunto de treinamento são apresentados à rede, seu erro médio é calculado e a partirdeste erro fazem-se as correções dos pesos.Algoritmos de treinamento:Algoritmo de HebbPasso 0. Inicializar pesosW i = 0 (i = 1 to N) - N (número de neurônios da camada de entrada)Passo 1. Para cada vetor de treinamento façaPasso 2. Função de ativação para as unidades de entradaf(x i )=x i (i = 1 to N)Passo 3. Função de ativação para a unidade de saíday= t (t – target / alvo)Passo 4. Ajustar pesos.W i (new)=Wi(old) + X i y (i=1 to N)Fim para-faça.7
Algoritmo PerceptronPasso 0. Inicializar pesos e taxa de aprendizado (α = 1)W i = 0 (i = 1 to N) - N (número de neurônios da camada de entrada)Passo 1. Enquanto a condição de parada for falsa faça:Passo 2. Para cada vetor de treinamento faça:Passo 3. Função de ativação para unidades de entradaf(x i )=x i (i = 1 to N)Passo 4. Calcular resposta da unidade de saíday_in = ∑x i w i (i=1 to N)y = 1 se y_in > limiary = 0 se –limiar ≤ y_in ≤ limiary = -1 se y_in < -limiarPasso 5. Ajustar pesos se ocorreu um erroSe y ≠ t (t = target/alvo)W i (new)=Wi(old) + αtx i (i=1 to N)SenãoW i (new)=Wi(old)Passo 6. Testar condição de parada: Se nenhum peso foi alterado para, senão continua.8