Redes Neurais Artificiais (Parte 1) 11/5/2015 MD - Prof. Paulemir Campos 1 Roteiro da Aula Redes Neurais Artificiais (RNAs): Introdução; Tipos de RNAs; Aprendizado em RNAs. Referências. 11/5/2015 MD - Prof. Paulemir Campos 2 Redes Neurais Artificiais: Introdução 11/5/2015 MD - Prof. Paulemir Campos 3 O Que São RNAs? Redes Neurais Artificiais (RNAs) são modelos de computação com propriedades particulares: 11/5/2015 Capacidade de se adaptar ou aprender; Generalizar; Agrupar ou organizar dados. MD - Prof. Paulemir Campos 4 O Que São RNAs? RNAs: estruturas distribuídas formadas por grande número de unidades de processamento conectadas entre si; Multi-disciplinaridade: 11/5/2015 Ciência da Computação, Matemática, Física, Engenharias, Psicologia, Biologia, Lingüística, Filosofia, etc. MD - Prof. Paulemir Campos 5 O Que São RNAs? Modelos inspirados no cérebro humano: Compostas por várias unidades de processamento (“neurônios” ou nodos) interligadas por um grande número de conexões (“sinapses” ou pesos). Eficientes onde métodos tradicionais têm se mostrado inadequados. 11/5/2015 MD - Prof. Paulemir Campos 6 O Que São RNAs? Exemplo de Topologia de uma RNA 11/5/2015 MD - Prof. Paulemir Campos 7 Características das RNAs Aprendem através de exemplos; Adaptabilidade; Capacidade de generalização; Tolerância a falhas; Implementação rápida. 11/5/2015 MD - Prof. Paulemir Campos 8 História das RNAs Inter-relação entre Investigação do comportamento e estrutura do sistema nervoso através de experimentação e modelagem biológica; Desenvolvimento de modelos matemáticos e suas aplicações para a solução de vários problemas práticos. Simulação e implementação destes modelos. 11/5/2015 MD - Prof. Paulemir Campos 9 História das RNAs A Origem (384-322 a. C.) Aristóteles escreveu: “De todos os animais, o homem, proporcionalmente, tem o maior cérebro.” (1700) Descartes acreditava que mente e cérebro eram entidades separadas; (1911) Ramon e Cajal introduzem a idéia de neurônios como estruturas básicas do cérebro. 11/5/2015 MD - Prof. Paulemir Campos 10 História das RNAs A Década de 1940: O Começo (1943) McCulloch & Pitts: Provam, teoricamente, que qualquer função lógica pode ser implementada utilizando unidades de soma ponderada e threshold (limiar); (1949) Hebb desenvolve algoritmo para treinar RNA (aprendizado Hebbiano): 11/5/2015 Se dois neurônios estão simultaneamente ativos, a conexão entre eles deve ser reforçada. MD - Prof. Paulemir Campos 11 História das RNAs 1950-1960: Anos de Euforia (1958) Von Neumann mostra interesse em modelagem do cérebro (RNA): “The Computer and the Brain”, Yale University Press (1959) Rosenblatt implementa primeira RNA, a rede Perceptron: 11/5/2015 Ajuste iterativo de pesos; Prova teorema da convergência. MD - Prof. Paulemir Campos 12 História das RNAs Década de 1970: Pouca Atividade (1969) Minsky & Papert analisam Perceptron e mostram suas limitações: 11/5/2015 Não poderiam aprender a resolver problemas simples como o OU-exclusivo; Causou grande repercussão. MD - Prof. Paulemir Campos 13 História das RNAs Década de 1970: Pouca Atividade (1971) Aleksander propõe Redes Booleanas; (1972) Kohonen e Anderson trabalham com RNA Associativas; (1975) Grossberg desenvolve a Teoria da Ressonância Adaptiva (redes ART). 11/5/2015 MD - Prof. Paulemir Campos 14 História das RNAs Década de 1980: A Segunda Onda (1982) Hopfield mostra que Redes Neurais podem ser tratadas como sistemas dinâmicos; (1986) Hinton, Rumelhart e Williams, propõem algoritmo de aprendizagem para redes multi-camadas: Parallel Distribuited Processing Paul Werbos (1974) 11/5/2015 MD - Prof. Paulemir Campos 15 Unidades de Processamento Função: receber entradas de conjunto de unidades A, computar função sobre entradas e enviar resultado para conjunto de unidade B. Entrada Total: N u = xiwj i=1 11/5/2015 MD - Prof. Paulemir Campos 16 Unidades de Processamento Representação Local: unidades representam objetos bem definidos (Ex. letras, palavras, faces, etc); Distribuída: unidades representam elementos abstratos. Localização das unidades 11/5/2015 Intermediária (escondida); Saída. MD - Prof. Paulemir Campos 17 Unidades de Processamento Estado de ativação: Representa o estado dos neurônios da rede; Pode assumir valores: Binários (0 e 1); Bipolares (-1 e +1); Reais Definido através de funções de ativação. 11/5/2015 MD - Prof. Paulemir Campos 18 Funções de Ativação Processa conjunto de entradas recebidas e o transforma em estado de ativação; Funções de ativação típicas envolvem: 11/5/2015 Adições; Comparações; Transformações matemáticas. MD - Prof. Paulemir Campos 19 Funções de Ativação Função de ativação Atualiza estado de ativação a(t + 1) = F [a(t), u(t)] a(t + 1) = F [a(t)] a(t + 1) = F [u(t)] Atualização 11/5/2015 Síncrona (mais comum) Assíncrona MD - Prof. Paulemir Campos 20 Funções de Ativação Funções de ativação mais comuns 11/5/2015 MD - Prof. Paulemir Campos 21 Funções de Ativação Sigmoid Logística 11/5/2015 MD - Prof. Paulemir Campos 22 Funções de Ativação Tangente Hiperbólica 11/5/2015 MD - Prof. Paulemir Campos 23 Funções de Saída Função de saída Transforma estado de ativação de uma unidade em seu sinal de saída yi(t) = fi (ai(t)) Geralmente é uma função identidade. 11/5/2015 MD - Prof. Paulemir Campos 24 Valores de Entrada e Saída Sinais de entrada e saída de uma RNA geralmente são números reais Números devem estar dentro de um intervalo Tipicamente entre -1 e +1 ou 0 e 1 Codificação realizada pelo projetista da rede Técnica de codificação mais simples é a binária 11/5/2015 Número restrito de aplicações. MD - Prof. Paulemir Campos 25 Conexões Definem como neurônios estão interligados Nós são conectados entre si através de conexões específicas. Codificam conhecimento da rede 11/5/2015 Uma conexão geralmente tem um valor de ponderamento ou peso associada a ela. MD - Prof. Paulemir Campos 26 Conexões Tipos de conexões (wik(t)) Excitatória: (wik(t) > 0) Inibitória: (wik(t) < 0) Conexão inexistente: (wik(t) = 0) Número de conexões de um nó 11/5/2015 Fan-in: número de conexões de entrada; Fan-out: número de conexões de saída. MD - Prof. Paulemir Campos 27 Redes Neurais Artificiais: Tipos 11/5/2015 MD - Prof. Paulemir Campos 28 Topologia Número de camadas Uma camada (Ex.: Perceptron, Adaline) Multi-camadas (Ex.: MLP) 11/5/2015 Completamente conectada; Parcialmente conectada; Localmente conectada. MD - Prof. Paulemir Campos 29 Topologia Completamente Conectada 11/5/2015 MD - Prof. Paulemir Campos 30 Topologia Parcialmente Conectada 11/5/2015 MD - Prof. Paulemir Campos 31 Topologia Localmente Conectada 11/5/2015 MD - Prof. Paulemir Campos 32 Topologia Arranjo das conexões: Redes Feedforward Redes Recorrentes Conexões apresentam loops Mais utilizadas em sistemas dinâmicos Lattices 11/5/2015 Não existem loops de conexões Matriz n-dimensional de neurônios MD - Prof. Paulemir Campos 33 Topologia Redes Feedforward 11/5/2015 Sinal segue numa única direção; Tipo mais comum. MD - Prof. Paulemir Campos 34 Topologia Redes Recorrentes 11/5/2015 Possuem conexões ligando saída da rede a sua entrada; Podem lembrar entradas passadas e, conseqüentemente, processar seqüência de informações (no tempo ou espaço) MD - Prof. Paulemir Campos 35 Topologia Redes Recorrentes 11/5/2015 MD - Prof. Paulemir Campos 36 Topologia Lattices Camada de Saída Nodo Vencedor 1 . . . i . . . n Camada de Entrada 11/5/2015 MD - Prof. Paulemir Campos 37 Redes Neurais Artificiais: Aprendizado 11/5/2015 MD - Prof. Paulemir Campos 38 Aprendizado Capacidade de aprender a partir de seu ambiente e melhorar sua performance com o tempo; Parâmetros livres de uma RNA são adaptados através de estímulos fornecidos pelo ambiente: 11/5/2015 Processo iterativo de ajustes aplicado a sinapses e thresholds; Idealmente, a RNA sabe mais sobre seu ambiente após cada iteração. MD - Prof. Paulemir Campos 39 Aprendizado RNA deve produzir para cada conjunto de entradas apresentado o conjunto de saídas desejado: wik(t+ 1) = wik(t) + wik(t) 11/5/2015 MD - Prof. Paulemir Campos 40 Aprendizado Mecanismos de aprendizado: 11/5/2015 Modificação de pesos (wij(t)) associados às conexões; Armazenamento de novos valores em conteúdos de memória; Acréscimo e/ou eliminação de conexões/neurônios. MD - Prof. Paulemir Campos 41 Paradigmas de Aprendizado Os paradigmas de aprendizado em RNAs são: 11/5/2015 Aprendizado Supervisionado; Aprendizado por Reforço; Aprendizado Não-Supervisionado. MD - Prof. Paulemir Campos 42 Aprendizado Supervisionado Professor externo: Possui conhecimento sobre ambiente 11/5/2015 Representado por conjunto de pares (x,d); Geralmente, a rede não possui informações prévias sobre ambiente. Parâmetros da rede são ajustados por (x,d); Rede procura emular professor. MD - Prof. Paulemir Campos 43 Aprendizado Supervisionado Problema de atribuição de crédito: Atribuir crédito ou culpa pelo resultado à cada uma das decisões internas que contribuíram para ele; Para rede melhorar desempenho, o custo deve mover para ponto de mínimo na superfície de erro: 11/5/2015 Utiliza informação sobre gradiente da superfície para os parâmetros atuais da rede; Gradiente: vetor que aponta na direção da descida mais íngreme. MD - Prof. Paulemir Campos 44 Aprendizado Supervisionado Formas de aprendizado supervisionado: Offline (estático) Online (dinâmico) Módulo externo para aprendizado; Rede é congelada após o treinamento. Rede nunca para de ser treinada; Aprendizado auto-contido Desvantagem: 11/5/2015 dependência do professor MD - Prof. Paulemir Campos 45 Aprendizado Supervisionado Um algoritmo de aprendizado supervisionado é o aprendizado por correção de erro; 11/5/2015 MD - Prof. Paulemir Campos 46 Aprendizado Supervisionado Aprendizado por Correção de Erro: Regra Delta (Widrow e Hoff 1960); Erro: ek(t) = dk(t) - yk(t); Minimizar função de custo baseada em ek(t); Função de custo 11/5/2015 c(t) = -1/2e2k(t) Minimização de c(t) utiliza método de gradiente descendente; Aprendizado atinge solução estável quando os pesos não precisam mudar muito. MD - Prof. Paulemir Campos 47 Aprendizado Supervisionado Aprendizado por Correção de Erro (Cont.): Após seleção da função de custo, aprendizado se torna um problema de otimização: Modelo matemático: 11/5/2015 RNA é otimizada pela minimização de c(t) com respeito aos pesos da rede wik(t) = . ek(t) . xi(t) MD - Prof. Paulemir Campos 48 Aprendizado Por Reforço Crítico externo: Processo de tentativa e erro; Procura maximizar sinal de reforço. Se ação tomada por sistema é seguida por estado satisfatório, sistema é fortalecido, caso contrário, sistema é enfraquecido (lei de Thorndike). 11/5/2015 MD - Prof. Paulemir Campos 49 Aprendizado Não-Supervisionado Não tem crítico ou professor externo; Extração de características estatisticamente relevantes: 11/5/2015 Cria classes automaticamente. MD - Prof. Paulemir Campos 50 Aprendizado Não-Supervisionado São métodos de aprendizado nãosupervisionado: 11/5/2015 Aprendizado Hebbiano; Aprendizado Competitivo. MD - Prof. Paulemir Campos 51 Aprendizado Não-Supervisionado Aprendizado Hebbiano: Regra mais antiga e famosa (Hebb 1949); Dois neurônios estão simultaneamente ativos, a conexão entre eles deve ser fortalecida; Regra modificada (sinapse Hebbiana) 11/5/2015 Dois neurônios são ativados sincronamente, força da sinapse deve ser aumentada; Dois neurônios são ativados assincronamente, força da sinapse deve ser reduzida. MD - Prof. Paulemir Campos 52 Aprendizado Não-Supervisionado Aprendizado Competitivo: Neurônios competem entre si para ser ativado; Adequado para descobrir características estatisticamente salientes: 11/5/2015 Apenas um neurônio se torna ativo (regra winner-takes-all); Podem classificar conjuntos de entradas MD - Prof. Paulemir Campos 53 Referências Braga, A. P.; Ludermir, T. B. e Carvalho, A. C. P. L. F. Redes Neurais Artificiais: Teoria e Aplicações. Editora LTC, 2000. Notas de aulas da Profa. Teresa B. Ludermir do CIn/UFPE. 11/5/2015 MD - Prof. Paulemir Campos 54