Baixe o app para aproveitar ainda mais
Prévia do material em texto
REDES NEURAIS Júlio Serafim Martins Rede de Kohonen Objetivos de aprendizagem Ao final deste texto, você deve apresentar os seguintes aprendizados: � Descrever o princípio de funcionamento das redes winner-take-all. � Construir uma rede SOM (Kohonen). � Resolver um problema usando uma rede SOM (Kohonen). Introdução A principal vantagem do uso de uma rede de Kohonen é que os dados são facilmente interpretados e compreendidos. A redução da dimensionali- dade e do agrupamento facilita a observação de semelhanças nos dados. Os mapas de Kohonen levam em consideração todos os dados da entrada para gerar esses agrupamentos e ajudam a resolver diversos problemas do mundo real em áreas como robótica, mineração de texto, visualização de dados, entre outros. Neste capítulo, você vai entender o princípio de funcionamento das redes winner-take-all (vencedor leva tudo) e vai compreender como construir uma rede Kohonen, além de verificar na prática como utilizar uma rede Kohonen para resolver problemas práticos. 1 Princípio de funcionamento das redes winner-take-all A regra winner-take-all é um princípio computacional aplicado em modelos computacionais de redes neurais segundo o qual os neurônios de uma camada competem entre si pela ativação (PRINCIPE; EULIANO; LEFEBVRE, 1999). Na forma clássica, apenas o neurônio com a ativação mais alta permanece ativo, enquanto todos os outros neurônios são desligados. Existem, todavia, outras variações que permitem que mais de um neurônio seja ativo, como por exemplo, a abordagem de competição suave (do inglês soft competition). Na teoria das redes neurais artificiais, redes winner-take-all são um caso de aprendizado competitiva. Os nós de saída na rede inibem-se mutuamente, enquanto que simultaneamente se ativam por meio de conexões reflexivas. Assim, após algum tempo, apenas um nó na camada de saída estará ativo. Os autores afirmam que o conceito de escolha de um vencedor é uma questão fundamental no aprendizado competitivo. Em computadores digitais a escolha do vencedor é incrivelmente simples (apenas uma busca pelo maior valor). O conceito de escolher um vencedor, no entanto, geralmente requer um contro- lador global que compare cada saída com todas as outras. Esse tipo de solução, no entanto, é problemático para sistemas distribuídos, e por essa e outras razões é importante construir uma rede que encontre a maior (ou menor) saída sem controle global. E esse é o sistema simples de uma rede winner-take-all. Zurada (c1992) afirma em seu livro que a maioria das redes neurais existen- tes segue um determinado padrão no qual neurônios com funções de ativação produzem saídas a partir de entradas. No entanto, redes neurais competitivas que implementam o conceito de winner-take-all possuem uma definição de funcionamento diferente. No contexto de uma rede neural competitiva, os neurônios “competem” para ser ativados, sendo a ativação geralmente uma função da distância de um ponto de dados selecionado. O neurônio mais próximo desse ponto do dado, ou seja, com a maior ativação, “vence” e é movido em direção ao ponto de dados, atraindo parte de sua vizinhança. Dessa forma a regra winner-take-all possui os passos a seguir para explicar seu funcionamento (ZURADA, c1992): 1. Os neurônios distribuídos são iguais, porém com distribuição de peso sináptica diferente. 2. Dado um padrão de entrada, cada neurônio responde de forma diferente. 3. O neurônio que fornece a ativação mais alta (melhor respostas) para um determinado padrão de entrada é considerado o vencedor. 4. O vencedor é movido para mais perto do padrão de entrada enquanto os neurônios restantes permanecem inalterados. Rede de Kohonen2 Confira a seguir um algoritmo de exemplo para os passos descritos anteriormente (ZURADA, c1992). 1. Normalize todos os padrões de entrada. 2. Selecione de forma aleatória um padrão de entrada x. ■ Encontre o neurônio vencedor que melhor responde ao padrão de entrada. ■ Atualize o neurônio vencedor. ■ Normalize o neurônio vencedor. 3. Execute o segundo passo até achar o neurônio vencedor. Como pode ser visualizado no exemplo anterior, o algoritmo vai executar até achar o “melhor” neurônio vencedor. Como assim? Em um determinado momento, um neurônio n pode ser considerado o neurônio vencedor, até se achar outro neurônio que melhor responda ao padrão de entrada; se for encontrado um neurônio y que melhor responda ao padrão de entrada x, então esse neurônio y vai ser considerado o “novo” neurônio vencedor. Esse processo é feito até se encontrar o neurônio vencedor de fato. A Figura 1 ilustra esse processo. Figura 1. Representação da regra winner-take-all. Fonte: Adaptada de Zurada (c1992). 3Rede de Kohonen A regra winner-take-all é um exemplo de aprendizagem competitiva e é usada para treinamento de redes não supervisionadas. Tipicamente, a regra winner-take-all é usada para aprender propriedades estatísticas sobre uma determinada entrada. Assim, essa regra é baseada na premissa que um dos neurônios na camada possui uma melhor resposta para um padrão de entrada x e, como mostrado na Figura 1, esse neurônio é declarado vencedor. Em outras palavras, o neurônio vencedor é selecionado com base no seu critério de ativação, o que é feito levando-se em consideração todos os neurônios participantes de uma competição. Esse critério corresponde a achar o vetor de peso mais próximo da entrada x. Os pesos são inicializados com valores aleatórios e seus valores são atualizados durante esse método de aprendizagem (ZURADA, c1992). Na Figura 1 é possível visualizar o vetor de pesos do neurônio vencedor de forma destacada. Principe, Euliano e Lefebvre (1999) também apresentam um conceito interessante no contexto de aprendizagem competitiva que é o de competição suave. Os autores afirmam que a regra de winner-take-all mostra a concorrência acirrada onde existe apenas um vencedor, ou seja, um neurônio está ativo e todos os outros estão inativos. A competição suave permite que não apenas o vencedor, mas também seus vizinhos sejam ativos. A competição suave cria uma "bolha" de atividade no espaço de saída, onde o neurônio mais próximo é o mais ativo, e seus vizinhos são menos ativos. Como mais de um neurônio está ativo para cada entrada, mais de um neurônio tem seus pesos atualizados para cada entrada, embora a atualização seja normalmente atenuada pela distância do PE do vencedor. Competição suave é também importante para outro conceito: o agrupa- mento. A regra competitiva permite que uma rede linear de camada única faça agrupamentos que representam amostras de dados que ficam em uma vizinhança do espaço de entrada. Essa operação é geralmente chamada de agrupamento e tem aplicações práticas para reconhecimento de padrões. Ou seja, apesar de ter apenas um único neurônio que responde melhor ao padrão de entrada (neurônio vencedor), também é possível fazer agrupamentos dos neurônios vizinhos do vencedor. Esse tipo de conceito possui aplicações em agrupamento de dados e em áreas de telecomunicações. A Figura 2 mostra um exemplo que ilustra bem o conceito de agrupamento. Rede de Kohonen4 Figura 2. Representação do agrupamento. Fonte: Barros (2015, documento on-line). Imagine, por exemplo, que uma rede neural é desenvolvida e treinada para agrupar notícias falsas ( fake news) e notícias verdadeiras. Com base na Figura 2, um exemplo hipotético seria que no grupo 1 estão as notícias falsas, e no grupo 2, as notícias verdadeiras. É possível perceber, então, como esses conceitos são importantes para a resolução de problemas. A principal diferença da regra winner-take-all para a abordagem de competição suave (soft competition, em inglês) é que a regra winner-take-all considera apenas um único neurônio vencedor que melhor responde ao padrão de entrada, enquanto que a competição suave permite que os vizinhos do neurônio vencedor também sejam considerados. 5Rede de Kohonen 2 Construção de umarede SOM (Kohonen) Segundo Principe, Euliano e Lefebvre (1999), uma rede de Kohonen (SOM) executa um mapeamento de um espaço de entrada contínuo para um espaço de saída discreto, preservando as propriedades topológicas da entrada. Isso significa que os pontos próximos um do outro no espaço de entrada são ma- peados para os mesmos neurônios ou vizinhos no espaço de saída. A base da rede Kohonen SOM é a competição suave entre os neurônios no espaço de saída. O Kohonen SOM é uma rede linear de camada única totalmente conectada, e a saída é um arranjo de neurônios chamado de vizinhança. A Figura 3, a seguir, ilustra essa representação. Figura 3. Representação de uma rede Kohonen. Fonte: Principe, Euliano e Lefebvre (1999, p. 465). Os neurônios são representados pelos círculos sólidos, e as linhas co- nectam os neurônios aos seus vizinhos. A Figura 3 representa a imagem de relação entre os neurônios e sua vizinhança; dessa forma, todo neurônio está próximo de seus vizinhos. A ideia de competição suave é crucial para entender o funcionamento da rede Kohonen SOM. O neurônio cujo vetor de peso está mais próximo da entrada atual vence a competição. Esta descrição também se aplica à regra winner-take-all, mas o aprendizado da rede SOM aprimora essa regra, pois não apenas o vencedor da competição, mas também seus vizinhos, atualizam seus pesos de acordo com a regra da concorrência (PRINCIPE; EULIANO; LEFEBVRE, 1999). Rede de Kohonen6 Nesse contexto, conforme Haykin (2001, p. 483): […] Uma rede Kohonen (rede auto-organizável) é, portanto, caracterizada pela formação de um mapa topográfico dos padrões de entrada no qual as localizações espaciais dos neurônios na grade são indicativos das caracte- rísticas estatísticas intrínsecas contidas nos padrões de entrada, daí o nome “rede auto-organizável”. Yang, Han e An (2004) afirmam que um Mapa de Kohonen é uma técnica de visualização de dados desenvolvida pelo professor Teuvo Kohonen no início dos anos 1980. Os SOMs mapeiam dados multidimensionais em subespaços dimensionais inferiores, onde as relações geométricas entre os pontos indicam sua similaridade. Nesse contexto, a redução na dimensionalidade fornecida pelas SOMs permite que as pessoas visualizem e interpretem o que de outra forma seriam, na maioria das vezes, dados indecifráveis e difíceis de ler. Os mapas de Kohonen geram subespaços com uma rede neural de apren- dizado não supervisionada treinada com um algoritmo de aprendizado com- petitivo. Os pesos dos neurônios são ajustados com base na proximidade dos neurônios “vencedores” (ou seja, neurônios que mais se assemelham a uma entrada de amostra). O treinamento em várias iterações dos conjuntos de dados de entrada resulta em agrupamentos semelhantes de neurônios e vice-versa. Os autores apontam, ainda, que SOMs foram aplicados a vários problemas. O algoritmo simples mas poderoso conseguiu reduzir problemas incrivelmente complexos para mapeamentos de dados facilmente interpretados. A principal desvantagem do SOM é que ele exige que os pesos dos neurônios sejam necessários e suficientes para agrupar as entradas. Quando um SOM recebe poucas informações ou informações imprecisas nos pesos, os agrupamentos encontrados no mapa podem não ser totalmente precisos ou informativos. A formação da rede de Kohonen executa os três processos (HAYKIN, 2001): � Competição — Identifica o neurônio vencedor através da similaridade do padrão de entrada com vetor de pesos dos neurônios; aquele neurônio que melhor responder ou atender as características do padrão de entrada é considerado o neurônio vencedor. � Cooperação — O neurônio vencedor define os neurônios que serão seus vizinhos. � Adaptativo — É feita a atualização do vetor de pesos do neurônio vencedor e de seus vizinhos. Essa atualização é feita de acordo com o padrão de entrada. Assim o neurônio vencedor e seus vizinhos ficarão agrupados. 7Rede de Kohonen Confira a seguir o algoritmo de criação de uma rede Kohonen (HAYKIN, 2001). 1. Inicialize todos os vetores de peso. 2. Para 0 até x, onde x é o número de iterações de treinamento, faça. � Selecione uma amostra do conjunto de dados de entrada. � Encontre o neurônio vencedor que melhor responde para a amostra selecionada. � Ajuste os pesos dos neurônios vizinhos. Fim do loop No exemplo anterior é possível perceber uma similaridade com o algoritmo da regra winner-take-all. A principal diferença é que os pesos dos neurônios vizinhos são ajustados, ou seja, a partir do neurônio vencedor é possível identificar quais são os seus vizinhos. A Figura 4 mostra um exemplo da representação do crescimento de um mapa de Kohonen. Figura 4. Crescimento de um mapa de Kohonen. Fonte: Villmann e Bauer (1998, p. 93). Os passos do mapeamento de um mapa de Kohonen começam com a inicialização dos vetores de peso de neurônios: uma amostra do padrão de entrada é selecionada de forma aleatória e é feita uma pesquisa no mapa de vetores de peso para descobrir qual peso melhor representa essa amostra. Cada vetor de peso de neurônios possui pesos vizinhos que estão próximos a ele, e o peso escolhido (neurônio vencedor) é recompensado por se tornar mais parecido com o vetor de amostra selecionado aleatoriamente. Os vizinhos com Rede de Kohonen8 esse peso também são recompensados por se tornarem mais parecidos com o vetor de amostra escolhido. Isso permite que o mapa cresça e desenvolva formas diferentes, como quadrados, retângulos, hexágonos, como representado na Figura 4. Outro conceito importante em redes neurais é o de Learning Vector Quan- tization (LVQ). Segundo Principe, Euliano e Lefebvre (1999), LVQ é uma rede neural que combina aprendizado competitivo e supervisionamento, e pode ser utilizada para classificação de padrão. Os autores definem como um processo de classificação dos padrões em que cada unidade de saída representa uma classe. Como essa rede usa o aprendizado supervisionado, a rede receberá um conjunto de padrões de treinamento com classificação conhecida, além de uma distribuição inicial da classe de saída. Após concluir o processo de treinamento, a rede LVQ classificará um vetor de entrada atribuindo-o à mesma classe que a da unidade de saída. Qual é, contudo, a diferença entre a abordagem de Kohonen e a rede LVQ? Deve ficar claro que o aprendizado supervisionado difere do não supervisio- nado, porque no primeiro os valores alvo são conhecidos. Portanto, a saída dos modelos supervisionados é uma previsão. Em vez disso, a saída de modelos não supervisionados é uma label (rótulo) para o qual ainda não sabemos o significado. Para esse fim, após o agrupamento, é necessário fazer o perfil de cada uma dessas labels. Dito isso, você pode rotular o conjunto de dados usando uma técnica de aprendizado não supervisionada, como o SOM. Em seguida, você deve criar um perfil de cada classe para ter certeza do entendimento do significado de cada classe. Nesse ponto, você pode seguir dois caminhos diferentes, dependendo do seu objetivo final. Com a rede de Kohonen você pode usar essa nova variável como uma maneira de reduzir a dimensionalidade, e, usando LVQ, é possível usar esse novo conjunto de dados com a variável adicional que representa a classe como dados rotulados que você tentará prever. 3 Resolvendo problemas usando uma rede SOM (Kohonen) Segundo Yin (c2008), existe um conjunto de problemas e aplicações em que pode ser aplicado o conceito de redes de Kohonen. Esse tipo de modelo de rede neural é um dos mais populares, pois pode fazer o reconhecimento de padrões sem precisar ter a presença de influência subjetiva externa. Existem diversas áreas de aplicações que podem utilizar mapa de Kohonen, como por 9Rede de Kohonen exemplo: visualização de dados, mineração de texto, análise de genes, robótica, processamento de imagem e de vídeo, dentre outras. O autor aponta que umas das principais áreas de aplicação da rede de Kohonen é a de visualização de dados,pois é possível identificar tendências em agrupamentos fazendo uma redução da dimensionalidade. Por exemplo, imagine que você deseja fazer uma categorização de países levando em con- sideração a situação econômica de cada um através de 39 atributos como qualidade da educação, renda per capita, condições de saúde etc. É possível fazer o agrupamento dos países para melhor visualização dos dados do que apresentar cada indicador separadamente. A Figura 5 ilustra bem esse conceito. Figura 5. Utilizando o mapa de Kohonen para visualizar a situação econômica de alguns países. Fonte: Kaski (1997, documento on-line). Ao observar a Figura 5, é possível entender como os países são agrupados. No lado esquerdo estão os países com melhor situação econômica (apesar da variação de cores), e no lado direito estão os países mais pobres, ou seja, a Figura 5 leva em consideração os atributos econômicos e a partir disso cria uma imagem que melhora essa visualização de dados de maneira prática. No lado esquerdo é possível visualizar países como “USA” (Estados Unidos) e “CAN” (Canadá), e no lado direito países como “SEN” (Senegal) e “ETH” Rede de Kohonen10 (Etiópia). Como essa rede é construída? Quando o modelo vai analisar os Estados Unidos (“USA”), ele verifica se existe algum país com situação eco- nômica parecida, e se existir eles ficam próximos – que é o que acontece com o Canadá (“CAN”). No ponto de vista do mapa de Kohonen, os Estados Unidos e o Canadá são nós vizinhos. O mapa de Kohonen vai executando esse processo até ter a compreensão de todo o conjunto de dados de entrada (indicadores econômicos). A Figura 5 mostra que é possível utilizar a rede de Kohonen para agrupar países com situação econômica parecida. Mas como isso é feito? O mapa se adapta aos dados de entrada para verificar algum padrão, e a partir disso ele representa os padrões encontrados fazendo, por exemplo, um agrupamento. Então é possível verificar uma redução da dimensionalidade e da visualização dos dados. A Figura 6 apresenta uma visão geral de todos os países a partir do agrupamento realizado pelo mapa de Kohonen. Figura 6. Visão geral da situação econômica de alguns países através do mapa de Kohonen. Fonte: Kaski (1997, documento on-line). O objetivo desse exemplo não é que você entenda o que significa cada cor, mas sim que você compreenda que é possível utilizar o mapa de Kohonen para resolver problemas reais na prática, como este problema de visualização de dados. Já pensou se fosse utilizado cada um dos 39 atributos de forma indivi- dual? Certamente a figura ficaria mais complexa de se entender. 11Rede de Kohonen Ding e Fu (2012) afirmam em seu artigo que utilizar mineração de texto ajuda na descoberta de informação a partir de uma grande quantidade de dados com o objetivo de extrair padrões ou relacionamentos. Os autores apontam que é possível utilizar o mapa de Kohonen na mineração de texto. Dessa forma, palavras conceitualmente parecidas tendem a ficar próximas umas das outras em nós vizinhos. Essa situação pode ser visualizada na Figura 7. Figura 7. Agrupamento de conceitos utilizando mapa de Kohonen. Fonte: Adaptada de Ding e Fu (2012). . . . . . . . . . Futebol Basquetebol Olimpíadas Ginástica Crédito bancário Banco Crise �nanceira Goldman A Figura 7 mostra os nós da rede após a execução do algoritmo que faz o agrupamento de palavras com conceitos parecidos. Dessa forma, perceba que é possível verificar que palavras como “Banco”, “Crise Financeira”, “Crédito Bancário” e “Goldman” (que é o nome de um banco) estão agrupadas, e assim surge o seguinte questionamento: Esse agrupamento está correto? É possível afirmar que sim já que são palavras que estão relacionadas ao contexto finan- ceiro. Na Figura 7 também é possível visualizar outro exemplo que mostra que Rede de Kohonen12 palavras como “Futebol”, “Olimpíadas”, “Basquetebol” e “Ginástica” estão agrupadas, um agrupamento que também faz sentido, já que são palavras conceitualmente parecidas. Assim, espero que você tenha compreendido como esses conceitos vistos aqui são importantes na resolução de problemas reais e práticos. Em outras palavras, entender esses conceitos ajuda a perceber como as redes neurais são importantes para a sociedade. BARROS, P. Aprendizagem de máquina: supervisionada ou não supervisionada?. Medium, 2015. Disponível em: https://medium.com/opensanca/aprendizagem-de-maquina- -supervisionada-ou-n%C3%A3o-supervisionada-7d01f78cd80a. Acesso em: 3 ago. 2020. DING, Y.; FU, X. The research of text mining based on self-organizing maps. Procedia Engineering, v. 29, p. 537–541, 2012. HAYKIN, S. Redes neurais: princípios e prática. 2. ed. Porto Alegre: Bookman, 2001. KASKI, S. Example of application of the SOM. Laboratory of Computer and Information Science: adaptative informatics researc centre, 1997. Disponível em: http://www.cis.hut. fi/research/som-research/worldmap.html. Acesso em: 3 ago. 2020. PRINCIPE, J. C.; EULIANO, N. R.; LEFEBVRE, W. C. Neural and adaptive systems: fundamentals through simulations. New York: Wiley, 1999. VILLMANN, T.; BAUER, U. Applications of the growing self-organizing map. Neurocom- puting, v. 21, n. 1-3, p. 91–100, 1998. YANG, B.; HAN, T.; AN, J. L. ART–KOHONEN neural network for fault diagnosis of rota- ting machinery. Mechanical Systems and Signal Processing, v. 18, n. 3, p. 645–657, 2004. YIN, H. The self-organizing maps: background, theories, extensions and applications. In: FULCHER, John; JAIN, Lakhmi C. (ed.). Computational intelligence: a compendium. Berlin: Springer, c2008. p. 715–762. ZURADA, J. M. Introduction to artificial neural systems. St. Paul: West, c1992. Leituras recomendadas MAASS, W. On the computational power of winner-take-all. Neural Computation, v. 12, n. 11, p. 2519–2535, 2000. OJA, E.; KASKI, S. (ed.). Kohonen maps. New York: Elsevier, 1999. 13Rede de Kohonen Os links para sites da web fornecidos neste capítulo foram todos testados, e seu fun- cionamento foi comprovado no momento da publicação do material. No entanto, a rede é extremamente dinâmica; suas páginas estão constantemente mudando de local e conteúdo. Assim, os editores declaram não ter qualquer responsabilidade sobre qualidade, precisão ou integralidade das informações referidas em tais links. Rede de Kohonen14
Compartilhar