Redes Neurais Artificiais Neurônio Natural – Dendritos: recebe os estímulos transmitidos por outros neurônios Sinapse Soma Sinapse Dendrito Axônio – Soma: coleta e combina informações vindas de outros neurônios – Axônio: transmite estímulos para outras células – Sinapse: região onde dois neurônios entram em contato e através da qual os impulsos nervosos são transmitidos entre eles Neurônio Natural • Cérebro humano: considerado o mais fascinante processador baseado em carbono existente, possui aprox. 10 bilhões de neurônios. • Os neurônios estão conectados uns aos outros através de sinapses. • Cada neurônio é capaz até 10.000 sinapses com outros neurônios. Neurônio Artificial 1. Sinais são apresentados à entrada; 2. Cada sinal é multiplicado por um peso que indica sua influência na saída da unidade; 3. É feita a soma ponderada dos sinais que produz um nível de atividade; 4. Se este nível excede um limite (threshold) a unidade produz uma saída; Neurônio Artificial Entradas = X1 a XN Saída = Output Pesos = W1 a WN Limiar (Threshold) = θ Saída = F (Inputs) S = Ftransf (Σ xi * wi ) S = 0 se Σ xi * wi < θ S = 1 se Σ xi * wi >= θ Neurônio Natural x Artificial • Os neurônios naturais operam na faixa dos milisegundos e os artificiais em nanosegundos. • Nossa capacidade de fazer cálculos numéricos é menor que computadores muito antigos. • Fazemos em aproximadamente uma centena de etapas o que os computadores atuais não conseguem em 10 milhões – devido ao paralelismo. Neurônio Natural x Artificial • Neurônios naturais estão propensos a falhas (podem morrer). • Componentes digitais precisam operar sem defeito. A Rede Neural A Rede Neural – Aspectos • São conectadas por canais de comunicação que estão associados a determinado peso. • As unidades fazem operações apenas sobre seus dados locais. • O comportamento inteligente de uma Rede Neural Artificial vem das interações entre as unidades de processamento da rede. A Rede Neural – Aspectos • Possui alguma regra de treinamento, onde os pesos de suas conexões são ajustados de acordo com os padrões apresentados. • Processo de treinamento a partir dos casos reais conhecidos. • É capaz de extrair regras básicas a partir de dados reais, diferindo da computação programada, onde é necessário um conjunto de regras rígidas préfixadas e algoritmos. Funções de Ativação Função Sinal Função Rampa y y 11 11 x -1 x 1 a x < 0 , y = -1 x>0,y= 1 b x<0, y=0 0<x<1, y=x x>1, y=1 Função tanh Função Sigmóide y y 1.0 1.0 x x c y = 1 / (1 + e - x ) - 1.0 d −x x 1− e y = tanh = −x 2 1+ e Ativação e Aprendizagem • Ativação: • Consiste no processo de receber uma entrada e produzir uma saída com os pesos e bias obtidos na fase de aprendizagem. • Aprendizagem: • Consiste no processo de Adaptação dos pesos sinápticos das conexões e os níveis de bias dos neurônios em resposta as entradas. Paradigmas de Aprendizagem •Supervisionada - dada uma entrada, é apresentada uma saída desejada • Não-Supervisionada - a rede se autoorganiza RNA– Aprendizado • Todo o conhecimento de uma rede neural está armazenado nas sinapses, ou seja, nos pesos atribuídos às conexões entre os neurônios. • De 50 a 90% do total de dados deve ser separado para o treinamento, e o restante para testes; • Os dados são escolhidos aleatoriamente, a fim de que a rede "aprenda" as regras e não "decore" exemplos; • O aprendizado ocorre quando a rede neural atinge uma solução generalizada para uma classe de problemas. Histórico Histórico (1943) O neurofisiologista McCulloch e matemático Walter Pitts (1943), cujo trabalho fazia uma analogia entre células vivas e o processo eletrônico, simulando o comportamento do neurônio natural, onde o neurônio possuía apenas uma saída, que era uma função do valor de suas diversas entradas. O neurônio de McCulloch e Pitts • Consiste basicamente de um neurônio que executa conexões uma função lógica. excitatórias x2 • Os nós produzem somente resultados binários e as conexões transmitem xn exclusivamente zeros e uns. • As redes são compostas de conexões sem peso, de y1 tipos excitatórios e inibitórios. • Cada unidade é conexões caracterizada por um certo inibitórias limiar (threshold) q. x1 θ ym Histórico (1949) O psicólogo Donald Hebb, demostrou que a capacidade da aprendizagem em redes neurais biológicas vem da alteração da eficiência sináptica, isto é, a conexão somente é reforçada se tanto as células pré-sinápticas quanto as póssinápticas estiverem excitadas; Hebb foi o primeiro a propor uma lei de aprendizagem específica para as sinapses dos neurônios. Histórico (1951) • Construção do primeiro neuro computador, denominado Snark, por Mavin Minsky. O Snark operava ajustando seus pesos automaticamente. Histórico (1956) • Surgimento dos dois paradigmas da Inteligência Artificial: – Simbólica: tenta simular o comportamento inteligente humano desconsiderando os mecanismos responsáveis por tal. – Conexionista: acredita que construindo-se um sistema que simule a estrutura do cérebro, este sistema apresentará inteligência, ou seja, será capaz de aprender, assimilar, errar e aprender com seus erros. Histórico (1958) • Rosemblatt (1958) mostrou em seu livro (Principles of Neurodynamics) o modelo dos "Perceptrons". • Nele, os neurônios (Perceptrons) eram organizados em camada de entrada e saída, onde os pesos das conexões eram adaptados a fim de se atingir a eficiência sináptica usada no reconhecimento de caracteres. Perceptron Clássico – Rosenblatt (1958) área de projeção área de associação retina conexões locais conexões aleatórias respostas associação retina Σ θ resposta Σ θ Σ θ Σ θ Histórico (1960) Em 1960 surgiu a rede ADALINE (ADAptative LInear NEtwork) e o MADALINE (Many ADALINE), proposto por Widrow e Hoff. O ADALINE/MADALINE utilizou saídas analógicas em uma arquitetura de três camadas. Histórico (1969) Foi constatado por Minsky & Papert que um neurônio do tipo Perceptron só é capaz de resolver problemas com dados de classes linearmente separáveis. Histórico (1960-1970) Muitos historiadores desconsideram a existência de pesquisa nessa área nos anos 60 e 70. Histórico (1982) Retomada das pesquisas com a publicação dos trabalhos do físico e biólogo Hopfield relatando a utilização de redes simétricas para otimização, através de um algoritmo de aprendizagem que estabilizava uma rede binária simétrica com realimentação. Histórico (1986) Rumelhart, Hinton e Williams introduziram o poderoso método de treinamento denominado “Backpropagation”. Rumelhart e McClelland escreveram o livro “Processamento Paralelo Distribuído: Explorações na Microestrutura do Conhecimento”. Histórico (1988) • Broomhead e Lowe descreveram um procedimento para o projeto de uma rede neural (feedforward) usando funções de base radial (Rede de Base Radial – RBF). Perceptron • Um simples neurônio • exemplo no livro, pag 259 Multicamadas • A maioria dos problemas do mundo real não é linearmente separável • Essa rede demonstra maior capacidade • Aprendem da mesma forma que perceptrons simples • Porém há muito mais pesos a serem ajustados Retropropagação • Geralmente utilizam a função sigmoide: f(x) = 1 1+ e-x • Os pesos são ajustados de trás para frente Redes Recorrentes • Apresentam “ciclos” nas suas conexões, isto é, a saída de neurônios de uma camada i são entradas de neurônios de uma camada anterior • Redes BAM, de Hopfield e Competitivas em geral são de certo modo redes recorrentes. • Entretanto 2 modelos são de maior interesse neste caso: – Redes de Elman – Redes de Jordan Redes Recorrentes • Utilizadas para casos que necessitem verificar dados anteriores • Essas redes tem memória Mapas de Kohonen • Também chamado de mapa de características auto-organizáveis • Usa o algoritmo vencedor-leva-tudo • Esse aprendizado é não supervisionado, chamado de aprendizado competitivo • Algoritmo vencedor-leva-tudo: – Apenas um neurônio fornece a saída da rede em resposta a uma entrada: • O neurônio que tiver o maior índice de ativação – Durante o aprendizado, somente as conexões deste neurônio que tem seus pesos alterados Mapas de Kohonen • Seu propósito é agrupar dados de entrada em diversos grupos(clusters) • Por exemplo: novas histórias em categorias por assuntos • Tem duas camadas: – Uma de entrada – Uma de agrupamento • Serve como camada de saída Aprendizado de Hebb • Baseado na lei de Hebb. Pag 279 • Segue o modelo: – Se dois neurônios artificiais que estejam conectados um ao outro forem ativados ao mesmo tempo, o peso da conexão entre estes neurônios será aumentado.