Buscar

Aula 10

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

Continue navegando