Redes Neurais Auto-organizáveis Teresa B. Ludermir Cin - UFPE Redes Neurais Auto-Organizáveis 1 Redes Auto-organizáveis Em várias aplicações é desejável que a rede organize por si mesma padrões semelhantes gerando sua própria classificação dos dados de treinamento Para isso é necessário que: Padrões pertencentes a mesma classe possuam valores próximos ou iguais para um número de características A rede consiga identificar estas características Critério para agrupar os dados Redes Neurais Auto-Organizáveis 2 Redes Auto-organizáveis Existem problemas que: Não utilizam resposta desejada Não recebem punição/recompensa Única informação fornecida está no conjunto de padrões de entrada Redes Neurais Auto-Organizáveis 3 Redes Auto-organizáveis Propósito de um algoritmo self-organizing Descobrir padrões ou características significativas nos dados de entrada Sem um professor Algoritmo apresenta um conjunto de regras de natureza local Redes Neurais Auto-Organizáveis 4 Redes Auto-organizáveis Redes Auto-organizáveis Definem os parâmetros da rede por si próprias, sem auxílio externo Descobrem padrões significativos ou características nos dados de entrada Rede forma sua própria classificação dos dados de treinamento Padrões de uma mesma classe compartilham características em comum Redes Neurais Auto-Organizáveis 5 Redes Auto-organizáveis Aprendizado não supervisionado funciona apenas quando existe redundância na entrada Redundância fornece conhecimento Ausência de redundância Impossível encontrar padrões ou características nos dados Dados seriam semelhantes a ruídos aleatórios Aprendizado não supervisionado Aprendizado competitivo Aprendizado Hebbiano Redes Neurais Auto-Organizáveis 6 Redes Auto-organizáveis Aprendizado competitivo Neurônios competem entre si pelo direito de atualizar seus pesos Tarefa Classificação Extração de características (Compressão de dados) Formação de clusters (agrupamentos) Exemplos ART, Kohonen Redes Neurais Auto-Organizáveis 7 Redes Auto-organizáveis Aprendizado Hebbiano Utilizam procedimento baseado na regra de Hebb para atualizar os pesos Tarefas Extração de características Análise de dados Memória autoassociativa Exemplo Hopfield Redes Neurais Auto-Organizáveis 8 Redes de Kohonen Determinadas áreas do cérebro são responsáveis por funções específicas Fala Visão Controle de movimentos Cada área pode conter sub-áreas Cada sub-área mapeia internamente respostas do órgão sensorial representado por ela Neurônios espacialmente ordenados Redes Neurais Auto-Organizáveis 9 Redes de Kohonen Exemplos: Cortex auditivo: de acordo com a resposta a diferentes freqüências sonoras Cortex visual: de acordo com características visuais primitivas Intensidade de luz Orientação e curvatura de linhas Redes Neurais Auto-Organizáveis 10 Redes de Kohonen Utilizam algoritmo de aprendizado baseado em conceitos de auto-organização biologicamente plausíveis Baseadas no mapeamento realizado pelo cérebro Permite representação de dados n-dimensionais em um espaço m-dimensional (m << n) Utiliza técnica de quantização de vetores para comprimir dados dos vetores de entrada Redes Neurais Auto-Organizáveis 11 Características básicas Arquitetura Uma camada bi-dimensional Grade plana (reticulado) Cada neurônio Recebe todas as entradas e gera saída Está conectado aos seus vizinhos (feedback) Funciona como classificador de características Pode ser utilizada uma hierarquia de camadas Redes Neurais Auto-Organizáveis 12 Rede de Kohonen 0 1 0 Redes Neurais Auto-Organizáveis 13 Características básicas Estados de ativação [0, N] Função de ativação dj = (xi - wij)2 Baseada em distância Euclidiana Função de saída Função identidade Redes Neurais Auto-Organizáveis 14 Características básicas Treinamento Não supervisionado Organiza neurônios em vizinhanças locais Neurônios competem entre si Apenas neurônio vencedor e seus vizinhos atualizam seus pesos Redes Neurais Auto-Organizáveis 15 Características básicas Treinamento Atualização dos pesos Atualiza neurônio vencedor e seus vizinhos dentro de um certo raio Raio e taxa de aprendizado são decrementados durante treinamento wij(t +1) = wij(t ) + h(t)(xi(t) - wij(t)) (neurônio j vizinhança do vencedor) Cria regiões que respondem a um grupo de entradas semelhantes Redes Neurais Auto-Organizáveis 16 Características básicas Treinamento Atualização dos pesos (xj vizinhança do vencedor) wij(t +1) = wij(t ) + h(t)(xi(t) - wij(t)) Redes Neurais Auto-Organizáveis 17 Algoritmo de Kohonen 1. Iniciar conexões com pequenos valores aleatórios; 2. Definir raio e taxa de aprendizado iniciais 3. Repita Para cada padrão de treinamento x Para cada neurônio nj Calcular a saída dj; Selecionar neurônio nk com menor dk; Atualizar pesos de nk e seus vizinhos; Reduzir taxa de aprendizado Reduzir raio Até raio < raio_mínimo Redes Neurais Auto-Organizáveis 18 Características básicas Observações Encontra a unidade mais parecida com o padrão de entrada Aumenta sua semelhança e a de seus vizinhos com o padrão de entrada Forma mapa topográfico Neurônios topologicamente próximos respondem de forma semelhante a entradas semelhantes Redes Neurais Auto-Organizáveis 19 Características básicas Justificativa biológica Córtex cerebral Neurônios ativos apresentam conexões mais fortes para neurônios fisicamente mais próximos A partir de uma certa distância, conexões se tornam inibitórias (chapéu mexicano) Parte da razão para mapeamento topológico no cérebro Redes Neurais Auto-Organizáveis 20 Características básicas Chapéu mexicano + R3 R2 R1 + Redes Neurais Auto-Organizáveis 21 Características básicas Rede de Kohonen modela córtex Redes interconectadas localmente Adaptação restrita aos neurônios vencedor e seus vizinhos Aspectos centrais do treinamento de Kohonen Conceito de vizinhança dos nós Processo de adaptação dos pesos ou Treinamento Redes Neurais Auto-Organizáveis 22 Vizinhanças Define quais e quantos nós em torno do nó vencedor terão seus pesos ajustados Tamanho modificado dinamicamente durante treinamento Inicialmente grande (ex. todos os nós) Reduzido progressivamente até limite prédefinido Taxa de redução pode ser função linear do número de ciclos Redes Neurais Auto-Organizáveis 23 Vizinhanças Pode ter diferentes formatos Hexágono Retangular Pode ter diferentes funções de vizinhança Bubble Gaussian Cut gaussian Epanechicov Redes Neurais Auto-Organizáveis 24 Vizinhanças Treinamento de rede de Kohonen é afetado por: Taxa de aprendizado Taxa de redução da taxa de aprendizado Formato da região de vizinhança Função de vizinhança Taxa de redução do raio ou tamanho da vizinhança Redes Neurais Auto-Organizáveis 25 Vizinhanças Após treinamento, rede forma agrupamentos Grupos podem ser rotulados para indicar classe que representam Permite classificação de padrões desconhecidos Redes Neurais Auto-Organizáveis 26 Treinamento Processo em dois estágios: Ordenação (Estágio 1) Criação de uma ordenação topológica sobre mapa de nós aleatoriamente orientados Refinamento ou convergência (Estágio 2) Ajuste dos nós de cada sub-área (classe) para os padrões de entrada Redes Neurais Auto-Organizáveis 27 Treinamento Inicialização dos pesos (Estágio 0) Aleatória Valores de pequena magnitude Cuidados devem ser tomados para evitar Que vetores de pesos sejam muito diferentes dos padrões de entrada Nós não utilizáveis para separar classes adequadamente Não convergência ou ciclos muito lentos Redes Neurais Auto-Organizáveis 28 Treinamento Inicialização dos pesos (continuação) Inicializar todos os pesos com mesmo valor Tornar padrões de treinamento inicialmente semelhantes Adicionar ruído aos vetores de entrada nos primeiros estágios de treinamento Redes Neurais Auto-Organizáveis 29 Treinamento Inicialização dos pesos (eliminando tendências) Utilizar um threshold para cada nó (consciência) Nós regularmente selecionados têm seu threshold aumentado Reduz sua chance de ser selecionado Permite utilização de nós redundantes Reduzir vizinhança durante treinamento Solução utilizada por Kohonen Redes Neurais Auto-Organizáveis 30 Treinamento Estágio 1 - Ordenação Busca agrupar os nós do mapa topológico de modo a refletir as diferentes classes Rede descobre quantas classes deve identificar e suas posições relativas no mapa mapeamento grosseiro Ocorrem grandes mudanças nos pesos Taxa de aprendizado decrescente: h(t) [0.1 0.01) Raio de vizinhança decrescente: [raio do mapa 1] Redes Neurais Auto-Organizáveis 31 Treinamento Estágio 2 - Refinamento Taxa de aprendizado decrescente: [0.01 0.001] Requer 5 a 10 vezes mais apresentações que no primeiro estágio Normalização dos pesos Não considerar magnitude, apenas orientação do vetor peso Reduz magnitude dos pesos para 1 Redes Neurais Auto-Organizáveis 32 Treinamento de vizinhança localizada Redes Neurais Auto-Organizáveis 33 Exexmplo → Examplo: Conjunto de dados para níveis de pobreza dos diferentes paises. Conjunto de dados pode ter varias estatisticas para cada pais. SOM não mostra o nível de pobreza de cada pais, mostra a similaridade de pobreza dos paises. (Similar color = similar data sets). Redes Neurais Auto-Organizáveis 34 Redes de Kohonen Pode ser necessário incluir novos padrões em uma rede já treinada Melhorar performance de certos agrupamentos Vetor de quantização de aprendizado (LVQ) Técnica de aprendizado supervisionado Ajusta mapa de características para melhorar sua performance em circunstâncias modificáveis Redes Neurais Auto-Organizáveis 35 Algoritmo LVQ 1. Selecionar vetores de treinamento com classificação conhecida 2. Definir raio e taxa de aprendizado iniciais 3. Repita Para cada padrão de treinamento com classificação conhecida Para cada neurônio nj Calcular a saída dj; Selecionar neurônio nk com menor dk; Atualizar pesos de nk e seus vizinhos; Reduzir taxa de aprendizado Até erro < erro_mínimo Redes Neurais Auto-Organizáveis 36 Algoritmo LVQ Utiliza para cada entrada a saída desejada Compara saída produzida com saída desejada Não mexe no raio da vizinhança Atualização dos pesos para nó vencedor wij(t+1) = wij(t) + h(t)(xi(t) - wij(t)) (correta) wij(t+1) = wij(t) - h(t)(xi(t) - wij(t)) (incorreta) Redes Neurais Auto-Organizáveis 37 Aplicações Datilógrafo fonético Conversão de fala em texto datilografado Sistema híbrido Rede utilizada para classificar fonemas Mesmo fonema pode apresentar variações (orador, contexto onde palavra é utilizada) Utiliza LVQ Redes Neurais Auto-Organizáveis 38 Datilógrafo fonético Redes Neurais Auto-Organizáveis 39 Aplicações Classificação de sinais de radar Controle de braços de robôs Segmentação de textura Modelamento do cérebro Tratamento de água Categorização automática de documentos Redes Neurais Auto-Organizáveis 40 Links Interessantes Applet SOM 3D: http://fbim.fhregensburg.de/~saj39122/jfroehl/diplom/esample-applet.html Applet DemoGNG 1.5 com diversas variações do SOM e muitos recursos: http://www.neuroinformatik.ruhr-unibochum.de/ini/VDM/research/gsn/DemoGNG/GG _2.html Redes Neurais Auto-Organizáveis 41