330 likes | 494 Views
Redes Neurais. Luana Bezerra Batista luana@dsc.ufcg.edu.br. Roteiro. Introdução Neurônio Artificial Perceptron Perceptrons de Múltiplas Camadas Algoritmo Backpropagation Mapas Auto-Organizáveis. Introdução.
E N D
Redes Neurais Luana Bezerra Batista luana@dsc.ufcg.edu.br
Roteiro • Introdução • Neurônio Artificial • Perceptron • Perceptrons de Múltiplas Camadas • Algoritmo Backpropagation • Mapas Auto-Organizáveis
Introdução • Redes Neurais são modelos computacionais inspirados no cérebro humano que aprendem através de exemplos • Compostas por várias unidades de processamento (‘neurônios’) • Interligadas por conexões (‘sinapses’) • Cada conexão possui um peso associado (‘peso sináptico’)
Introdução Camada intermediária • Arquitetura genérica de uma RN Camada de entrada Camada de saída
x1 w1i v(i) xj wji o(i) wni xn f(.) å f(v(i)) = 1, se v(i)0 f(v(i)) = 0, se v(i)<0 v ( i ) = w ´ x ji j o ( i ) = f ( v ( i ) ) Neurônio Artificial • Modelo de McCulloch-Pitts (1943)
Perceptron • Desenvolvido por Rosemblat (1958) • Forma mais simples de uma Rede Neural utilizada para classificação de padrões linearmente separáveis • Utiliza o modelo de neurônio de McCulloch-Pitts
Perceptron • Problemas linearmente separáveis
Perceptron • Algoritmo de Treinamento (Supervisionado) iniciar todas as conexões com wj = 0; repita para cada padrão de treinamento (x, d) faça calcular a saída o se (d o) então ajustar pesos até o erro ser aceitável
Perceptron • Ajuste dos pesos por correção do erro • wji = xj (dj - oj ), se (d o) • Onde (dj - oj ), representa o erro • e é a taxa de aprendizado • wji = 0, se (d = o)
Perceptron • Algoritmo de Teste Para cada padrão xfaça apresentar x a entrada da rede calcular a saída o se (o=1) então x classe 1 senão x classe 2
Perceptron • Perceptrons de uma única camada resolvem apenas problemas linearmente separáveis • Grande número de aplicações importantes são não-linearmente separáveis
Perceptron • Exemplo: problema XOR
Perceptron • Solução: perceptrons de múltiplas camadas
Perceptrons de múltiplas camadas • Uma rede neural MLP (Multi-Layer Perceptrons) é uma extensão do Perceptron proposto por Rosenblatt, composta de várias camadas de neurônios • Arquitetura de rede neural mais utilizada
Perceptrons de múltiplas camadas • Contém três tipos de camadas: • camada de entrada • camada(s) intermediárias(s) • camada de saída • Qualquer neurônio de uma camada pode interligar-se com outro neurônio da camada seguinte
Perceptrons de múltiplas camadas Camada intermediária Camada de entrada Camada de saída
Perceptrons de múltiplas camadas • O treinamento de uma rede neural MLP é realizado de maneira supervisionada com o algoritmo Backpropagation (ou retropropagação do erro) • Nesse algoritmo, a determinação do sinal de erro d é um processo recursivo que se inicia nos neurônios da camada de saída e vai até os neurônios da primeira camada intermediária
Backpropagation • O algoritmo Backpropagation opera em dois passos: 1) Forward • um padrão é apresentado à camada de entrada da rede e propagado em direção à camada de saída • a saída obtida é comparada com a saída desejada para esse padrão particular. Se esta não estiver correta, o erro é calculado
Backpropagation 2) Backward • o erro é propagado a partir da camada de saída até a camada de entrada • os pesos das conexões dos neurônios das camadas internas vão sendo modificados conforme o erro é retropropagado
Backpropagation • Para os neurônios das camadas intermediárias, onde não existem saídas desejadas, o sinal do erro d é determinado recursivamente em termos dos sinais dos erros dos j neurônios diretamente conectadas a eles e dos pesos destas conexões
Backpropagation • Erro dos neurônios na camada de saída • Erro dos neurônios nas camadas intermediárias • Ajuste dos pesos
Backpropagation • Vantagens • simples de implementar • boa capacidade de generalização • Desvantagens • dificuldade de justificar as respostas • custo computacional significativo • baixa velocidade de aprendizado
Mapas Auto-Organizáveis • O mapa auto-organizável (SOM: Self-Organizing Map) é um tipo especial de rede neural não-supervisionada onde é realizado um processo de aprendizagem competitiva • O neurônio mais próximo do padrão de entrada (com a menor distância Euclidiana) é declarado vencedor
Mapas Auto-Organizáveis • Segundo Haykin (2001), o principal objetivo do SOM é transformar um padrão de entrada, de dimensão arbitrária, em um mapa discreto uni- ou bi-dimensional
Mapas Auto-Organizáveis Camada computacional • SOM bidimensional Camada de entrada
Mapas Auto-Organizáveis • Os mapas auto-organizáveis possuem duas propriedades principais: • Quantização vetorial (redução do espaço de entrada) • Agrupamento de padrões similares em regiões geograficamente próximas
Mapas Auto-Organizáveis • Algoritmo • Inicialize os vetores de pesos com valores aleatórios wj = [wj1, wj2, …, wjm], j=1,2,…n • Onde m é a dimensão do espaço de entrada e n é o número total de neurônios do mapa • Restrição: os vetores de pesos devem ser diferentes • Para cada padrão de entrada x = [x1, x2, ...xm] • encontre o neurônio mais próximo desse padrão (neurônio vencedor i(x)=arg min||x-wj||) • atualize os pesos • Repita o passo 2 até que não sejam observadas modificações significativas no mapa
Mapas Auto-Organizáveis • Ajuste dos vetores de pesos • wj = h(i(x))(x - wj ) • Onde h(i(x)) é a função de vizinhança que mede o grau de participação dos neurônios vizinhos a i(x) no processo de aprendizado
Mapas Auto-Organizáveis • Experimento: • agrupamento de 16 animais em 3 categorias • Caçadores • Pássaros • Espécies pacíficas • SOM 10x10 • 2000 iterações
Mapa Contextual Caçadores Pássaros Espécies pacíficas
Referências • Mitchell, T., Machine Learning. McGraw-Hill, 1997 • Haykin, S. Redes Neurais – Princípios e prática. 2. Ed. Porto Alegre, RS: Bookman, 2001