Você está na página 1de 79

INSTITUTO FEDERAL DO ESPÍRITO SANTO

ENGENHARIA DE CONTROLE E AUTOMAÇÃO

ISABELLE PEREIRA SOUZA DIAS

MAPAS DE KOHONEN: ESTUDO APLICADO NO APRENDIZADO NÃO


SUPERVISIONADO DE DÍGITOS MANUSCRITOS

SERRA
2022
ISABELLE PEREIRA SOUZA DIAS

MAPAS DE KOHONEN: ESTUDO APLICADO NO APRENDIZADO NÃO


SUPERVISIONADO DE DÍGITOS MANUSCRITOS

Trabalho de Conclusão de Curso apresentado à


Coordenadoria do Curso de Sistemas de
Informação do Instituto Federal do Espírito Santo
como requisito parcial para a obtenção do título de
Bacharel Engenharia de Controle e Automação.

Orientador: Prof. Dr. Daniel Cruz Cavalieri.

SERRA
2022
Dados Internacionais de Catalogação na Publicação (CIP)

D541m Dias, Isabelle Pereira Souza


2022 Mapas de Kohonen: estudo aplicado no aprendizado não
supervisionado de dígitos manuscritos / Isabelle Pereira Souza Dias.
– 2022.
77 f.; il.; 30 cm

Orientador: Prof. Dr. Daniel Cruz Cavalieri.


Monografia (graduação) - Instituto Federal do Espírito Santo,
Coordenadoria de Automação, Curso de Graduação em Engenharia
de Controle de Automação, 2022.

1. Aprendizado do computador. 2. Inteligência artificial. 3. Redes


neurais (Computação). 4. Banco de dados. I. Cavalieri, Daniel Cruz.
II. Instituto Federal do Espírito Santo. III. Título.

CDD 006.32

Bibliotecária Rogeria Gomes Belchior - CRB6/ES 417


AGRADECIMENTOS

Agradeço primeiramente a Deus, e à minha família por todo suporte em todos os


momentos da minha vida.

Aos meus amigos que fizeram meus anos da faculdade serem mais divertidos e me
motivaram ao longo do caminho.

Ao meu orientador, pela disponibilidade, correções e ensinamentos.

A todos que fizeram esse momento ser possível, obrigada.


RESUMO

O mapa auto organizável, também chamado de mapa de Kohonen, é construído


usando uma rede 2-D de nós predefinidos, utiliza aprendizado competitivo não
supervisionado para produzir representações de baixa dimensão para dados de
entrada de alta dimensão, ainda preservando relações de similaridade entre os itens
apresentados. Este trabalho propõe treinar redes neurais de mapas auto-organizáveis
para identificar dígitos manuscritos utilizando o banco de dados MNIST como padrões
de entrada. Após treinada a rede, é realizado um processo de rotulagem na rede, e
para tal é utilizado 1% dos rótulos dos dados de treinamento. O objetivo desse trabalho
é comparar a performance das redes de Kohonen de diferentes tamanhos, e avaliar
como o tamanho impacta os resultados. Ao final, para identificação de dígitos
manuscritos foi encontrada que a rede de Kohonen de dimensão 16x16, 256
neurônios, apresentou o melhor resultado, atingindo uma acurácia de 90,03%. Esse
estudo foi feito utilizando o banco de dados MNIST, e em estudos futuros o objetivo é
retirar o maior proveito possível do aprendizado não supervisionado e testá-lo em
banco de dados onde existem uma quantidade limitada de rótulos.

Palavras-chave: Mapas de Kohonen. Aprendizado não supervisionado. MNIST.


Inteligência artificial.
ABSTRACT

The self-organized map, sometimes also called a Kohonen map, is built using a 2-D
network of predefined nodes and uses unsupervised competitive learning to produce
low-dimensional representations for high-dimensional input data, while still preserving
similarity between the input data. This work proposes to train neural networks of self-
organized maps to identify handwritten digits using the MNIST database as input
patterns. After training the network, a labeling process is carried out in the network,
and for this it is only used 1% of the labels of the training data. The objective of this
work is to compare the performance of Kohonen networks of different sizes, and to
evaluate how the size impacts the metrics. In the end, for the identification of
handwritten digits, it was found that the self-organized map of 16x16, with 256 nodes,
presented the best metrics, reaching an accuracy of 90.03%. This study used the
MNIST database as input, and in future studies the objective is to take full advantage
of unsupervised learning and test it in a database where there are a limited number of
labels.

Keywords: Self-organizing maps. Unsupervised learning. MNIST. Artificial intelligence.


LISTA DE ILUSTRAÇÕES

Figura 1 - Estrutura de um neurônio biológico................................................. 16


Figura 2 - Neurônio Artificial............................................................................. 17
Figura 3 - Modelo de uma rede neural............................................................. 18
Figura 4 - Ilustração do mapa do córtex primário e secundário....................... 25
Figura 5 - Representação do SOM para dados de entrada em 𝑅 3 .................. 26
Figura 6 - Topologias do SOM......................................................................... 27
Figura 7 - Representação de um SOM conectado com um vetor de entrada.. 29
Figura 8 - SOM com dados RGB sendo treinados........................................... 30
Figura 9 - Exemplo de um mapa de Kohonen com entradas RGB.................. 31
Figura 10 - Inicialização de um mapa de Kohonen com entradas RGB............ 31
Figura 11 - Dado de entrada azul para um mapa de Kohonen RGB................. 32
Figura 12 - Exemplos de pesos dos neurônios do mapa de Kohonen RGB...... 32
Figura 13 - Atualização dos neurônios do mapa de Kohonen RGB.................. 33
Figura 14 - Comparação do comportamento das funções de vizinhança com
o decaimento do raio....................................................................... 35
Figura 15 - Função de vizinhança Gaussiana.................................................... 36
Figura 16 - Comportamento de um Mapa de Kohonen durante treinamento
de rede............................................................................................. 37
Figura 17 - Exemplificando o algoritmo de rotulagem........................................ 38
Figura 18 - Dado de entrada azul no algoritmo de rotulagem............................ 39
Figura 19 - Entradas com rótulos no algoritmo de rotulagem............................ 39
Figura 20 - Rotulagem resultante do algoritmo.................................................. 40
Figura 21 - Mapa Fonético................................................................................. 41
Figura 22 - Mapa de Kohonen resultante da pesquisa com pacientes
sépticos............................................................................................ 42
Figura 23 - SOM aplicado na robótica móvel..................................................... 44
Figura 24 - Exemplos de dados existentes no banco de dados MNIST de
dígitos manuscritos.......................................................................... 45
Figura 25 - Conexão de um padrão de entrada 𝑅 2 para o SOM....................... 47
Figura 26 - Redimensionamento do padrão de entrada.................................... 47
Figura 27 - Conexão de um padrão de entrada 1-D para o SOM...................... 48
Figura 28 - Atualização dos hiperparâmetros com a época............................... 52
Figura 29 - Evolução dos pesos do SOM 10 × 10............................................. 55
Figura 30 - (a) SOM 10 × 10 resultante e (b) Resultado rotulado...................... 56
Figura 31 - Matriz de Confusão SOM 10 × 10................................................... 56
Figura 32 - SOM 32 × 32................................................................................... 58
Figura 33 - Rótulos do SOM 32 × 32................................................................. 59
Figura 34 - Matriz de confusão do SOM 32 × 32............................................... 60
Figura 35 - SOM 16 × 16................................................................................... 61
Figura 36 - Rótulos do SOM 16 × 16................................................................. 62
Figura 37 - Matriz de confusão do SOM 16 × 16............................................... 63
Figura 38 - Evolução dos pesos do SOM 8 × 8................................................. 64
Figura 39 - SOM 8x8 resultante e rotulagem..................................................... 64
Figura 40 - Matriz de confusão do SOM 8x8..................................................... 65
Figura 41 - Evolução dos pesos do SOM 4 × 4................................................. 65
Figura 42 - SOM 4 × 4 resultante e rotulagem................................................... 66
Figura 43 - Matriz de confusão do SOM 4 × 4................................................... 66
Figura 44 - Evolução dos pesos do SOM 5 × 2................................................. 67
Figura 45 - SOM 5 × 2 resultante e rotulagem................................................... 67
Figura 46 - Matriz de confusão do SOM 4 × 4................................................... 68
Figura 47 - Evolução dos pesos do SOM 1 × 10............................................... 69
Figura 48 - SOM 10 × 1 resultante e rotulagem................................................. 69
Figura 49 - Matriz de confusão do SOM 10 × 1................................................. 70
Figura 50 - SOM 5 × 20..................................................................................... 70
Figura 51 - Rótulos do SOM 5 × 20................................................................... 71
Figura 52 - Matriz de confusão do SOM 20 × 5................................................. 71
LISTA DE TABELAS

Tabela 1 - Algoritmo de treinamento do SOM................................................. 49


Tabela 2 - Algoritmo de rotulagem do SOM treinado...................................... 50
Tabela 3 - Quantidade de rótulos para cada categoria de dígito..................... 51
Tabela 4 - Algoritmo de teste do SOM treinado e rotulado............................. 52
Tabela 5 - Acurácia das diferentes estruturas SOM........................................ 72
LISTA DE ABREVIATURAS, SIGLAS

IA – Inteligência Artificial

ANN – Rede Neural Artificial, do inglês: Artificial Neural Network

BMU – Melhor Unidade de Correspondência, do inglês: Best Matching Unit

CNN – Rede Neural Convolucional, do inglês: Convolutional Neural Network

ML – Aprendizado de Máquina, do inglês: Machine Learning

SOM – Mapa Auto Organizável, do inglês: Self-Organizing Map

SNN – Spiking Neural Networks.


SUMÁRIO

1 INTRODUÇÃO...................................................................................... 12
1.1 OBJETIVO GERAL E ESPECÍFICO..................................................... 13
1.2 TRABALHOS CORRELATOS............................................................... 13
1.3 ESTRUTURA DO TEXTO..................................................................... 14
2 REFERENCIAL TEÓRICO................................................................... 15
2.1 INTELIGÊNCIA ARTIFICIAL................................................................. 15
2.2 REDE NEURAL ARTIFICIAL................................................................ 15
2.2.1 Inspiração Biológica........................................................................... 16
2.3 APRENDIZADO DE MÁQUINA............................................................ 18
2.3.1 Aprendizado Supervisionado............................................................ 19
2.3.2 Aprendizado Não Supervisionado..................................................... 21
2.3.3 Aprendizado Semi-supervisionado................................................... 22
2.3.4 Aprendizado por Reforço................................................................... 22
2.4 MAPAS DE KOHONEN........................................................................ 23
2.4.1 História e inspiração neurofisiológica.............................................. 24
2.4.2 Princípios do SOM.............................................................................. 26
2.4.3 Estrutura de um Mapa de Kohonen................................................... 27
2.4.3.1 Topologia da rede................................................................................. 27
2.4.3.2 Tamanho da rede.................................................................................. 28
2.4.4 Operações de aprendizagem do SOM............................................... 28
2.5 ALGORITMO DOS MAPAS DE KOHONEN......................................... 30
2.6 AVALIANDO O MAPA DE KOHONEN................................................. 37
2.7 APLICAÇÕES DO SOM........................................................................ 40
2.7.1 Reconhecimento de fala..................................................................... 41
2.7.2 Imagens e análises médicas.............................................................. 42
2.7.3 Robótica............................................................................................... 43
2.8 FERRAMENTAS PRINCIPAIS.............................................................. 44
2.8.1 Python.................................................................................................. 44
2.8.2 Tensorflow........................................................................................... 44
2.8.3 MNIST................................................................................................... 45
3 DESENVOLVIMENTO.......................................................................... 46
3.1 PRÉ-PROCESSAMENTO DOS DADOS DE ENTRADA...................... 46
3.1.1 Normalização....................................................................................... 46
3.1.2 Redimensionamento........................................................................... 46
3.1.3 Divisão dos dados para treino, rótulo e teste.................................. 48
3.2 ALGORITMO PARA TREINAMENTO DO MAPA AUTO-
ORGANIZÁVEL..................................................................................... 48
3.3 ALGORITMO PARA ROTULAGEM DO SOM TREINADO................... 50
3.4 ALGORITMO PARA TESTE DO SOM TREINADO.............................. 51
3.5 HIPERPARÂMETROS.......................................................................... 52
4 RESULTADOS...................................................................................... 54
4.1 SOM DE TAMANHO 10 × 10................................................................ 55
4.2 SOM DE TAMANHO 32 × 32................................................................ 57
4.3 SOM DE TAMANHO 16 × 16................................................................ 60
4.4 SOM DE TAMANHO 8 × 8.................................................................... 63
4.5 SOM DE TAMANHO 4 × 4.................................................................... 65
4.6 SOM DE TAMANHO 5 × 2.................................................................... 67
4.7 SOM DE TAMANHO 1 × 10.................................................................. 68
4.8 SOM DE TAMANHO 5 × 20.................................................................. 70
4.9 COMPARANDO RESULTADOS........................................................... 71
5 CONCLUSÃO....................................................................................... 74
REFERÊNCIAS..................................................................................... 74
12

1 INTRODUÇÃO

O aprendizado de máquina, (do inglês, Machine Learning - ML), é uma abordagem


orientada a dados em que as máquinas aprendem a partir de dados passados algum
tipo de comportamento. Existem três principais abordagens de aprendizado em ML:
aprendizado supervisionado, aprendizado não supervisionado e aprendizado por
reforço. O aprendizado supervisionado envolve o treinamento do modelo em um
conjunto de dados rotulado. O aprendizado não supervisionado envolve o treinamento
de um modelo em um conjunto de dados não rotulado. O modelo aprende de maneira
independente os recursos do conjunto de dados de treinamento (DRIDI, 2021).

Com base nessas abordagens de aprendizado, o modelo faz previsões nos dados de
teste. Algumas abordagens de algoritmos de aprendizado não supervisionado são
clustering, k-means, análise de componentes principais, entre outros. Clustering
envolve o agrupamento de objetos com base em suas características semelhantes.
Muitas abordagens e algoritmos de aprendizado não supervisionado foram
introduzidos desde a última década, são bem conhecidos e amplamente utilizados. A
aplicação de técnicas de aprendizado não supervisionado é popularmente conhecida
em áreas como visão computacional, processamento de linguagem natural,
reconhecimento de fala e desenvolvimento de carros autônomos. O aprendizado não
supervisionado elimina a necessidade de dados rotulados e engenharia manual de
recursos, permitindo métodos de ML generalizados, mais flexíveis e automatizados
(DRIDI, 2021).

Neste trabalho será utilizada uma abordagem específica de clustering, o mapa auto
organizável. O mapa auto organizável, (do inglês, Self-Organizing Maps - SOM),
também denominado de mapa de Kohonen, usa aprendizado competitivo não
supervisionado para produzir representações de baixa dimensão para dados de
entrada de alta dimensão, preservando relações de similaridade entre os dados
apresentados (MILJKOVIĆ, 2017).

Logo, o SOM é uma técnica de redução de dimensionalidade que pode trazer insights
sobre dados de alta dimensão tentando minimizar o uso de computação. Mapas auto
organizáveis podem ser usados para análise exploratória de dados, problemas de
13

agrupamento e visualização de conjuntos de dados de alta dimensão (PONMALAI;


KAMATH, 2019).

1.1 OBJETIVO GERAL E ESPECÍFICO

O objetivo geral deste trabalho é realizar um estudo dos mapas de Kohonen para
entender seu funcionamento, suas vantagens e desvantagens. Para isso, será
utilizado o banco de dados MNIST de dígitos manuscritos, onde os dados de entrada
serão imagens de um único dígito manuscrito e a saída será a identificação deste
dígito.

Como objetivos específicos, temos:

• Realizar testes com dimensões de rede diferente, com o intuito de encontrar a


melhor dimensão de rede para identificação dos dados de entrada.

• Observar como dimensões diferentes do SOM afetam a organização final do


mapa de Kohonen resultante

• Utilizar 1% dos dados rotulados para testar a capacidade do algoritmo em


agrupar imagens da mesma classe.

1.2 TRABALHOS CORRELATOS

O uso de redes neurais convolucionais, (do inglês, Convolutional Neural Network –


CNN), é muito popular para solução envolvendo problemas de imagens, onde busca-
se desenvolver uma técnica de reconhecimento de padrões. Na literatura, encontra-
se resultados com acurácias de até 99,98% para o banco de dados MNIST, utilizando
uma rede CNN e aprendizado supervisionado, ou seja, com a presença de rótulos
(YAHYA; TAN; HU, 2021). Focando em técnicas de aprendizado não supervisionado,
a precisão é menor, porém ainda é possível atingir boas performances.

Neste contexto, Spiking Neural Networks (SNN) podem ser usadas para realizar
cálculos “complexos” e resolver tarefas de reconhecimento de padrões. Diehl e Cook
14

apresentaram em um artigo uma rede SNN para reconhecimento de dígitos treinando


a rede neural sem utilização de rótulos e o modelo proposto atingiu uma precisão de
95% na base de dados MNIST (DIEHL; COOK, 2015)

Ainda neste contexto, é interessante destacar na literatura um estudo desenvolvido


por Khacef, Rodriguez e Miramond utilizando a rede SOM para classificação de dígitos
manuscritos e a combinação dessa rede com outras de reconhecimento de
características. algoritmos. Neste estudo, verificou-se que uma rede SOM com 256
neurônios atingiu uma precisão de 90,81% enquanto uma rede combinando SOM e
CNN a precisão foi de 97,94% (KHACEF; RODRIGUEZ; MIRAMOND, 2020).

Um outro estudo utilizando k-means para reconhecimento de dígitos, apresentou uma


acurácia de 83,33% para a base de dados MNIST (PEI; YE, 2022).

1.3 ESTRUTURA DO TEXTO

Dando sequência na estrutura do texto, o Capítulo 2, referencial teórico, apresentará


conceitos básicos sobre Inteligência Artificial, métodos de aprendizagem de máquina,
mapas de Kohonen e algumas ferramentas necessárias para o desenvolvimento deste
trabalho. Já no Capítulo 3, desenvolvimento, será explicada a lógica do algoritmo de
aprendizagem passo-a-passo, além de descrever como será feita a rotulagem no
mapa de Kohonen. No Capítulo 4, resultados, serão apresentados testes diferentes
das estruturas do SOM, observando qual o impacto destes parâmetros na
assertividade da rede. Finalmente, o Capítulo 5, conclusões, apresentará as
conclusões e trabalhos futuros oriundos dos resultados deste trabalho.
15

2 REFERENCIAL TEÓRICO

O referencial teórico da presente pesquisa foi estruturado em sete tópicos, a saber:


inteligência artificial, redes neurais, aprendizado de máquina, mapas de Kohonen,
como avaliar a acurácia dos resultados desse algoritmo, aplicações e principais
ferramentas que serão utilizadas para o desenvolvimento do estudo de caso.

2.1 INTELIGÊNCIA ARTIFICIAL

Inteligência é a capacidade de aprender. Vários tipos e graus de inteligência ocorrem


nas pessoas, animais e algumas máquinas (MCCARTHY, 2004).

Já a Inteligência Artificial está relacionada à tarefa de usar tecnologias para entender


a inteligência humana, mas a IA não precisa se limitar a métodos biologicamente
observáveis (MCCARTHY, 2004).

“Inteligência Computacional é uma sub-área da ciência da computação que busca em


projetar sistemas computacionais inteligentes, isto é, sistemas que apresentam
características que associamos com inteligência no comportamento humano –
compreensão da linguagem, aprendizagem, raciocínio, resolver problemas, etc.”
(BARR; FEIGENBAUM, 2014)

A IA está cada vez mais próxima das nossas vidas através de um grande painel de
aplicações. Por exemplo: reconhecimento de voz e imagem, carros autónomos,
sistemas de recomendação, assistência à saúde, etc (KHACEF et al., 2019).

Este trabalho será focado nos ramos de rede neural e aprendizado de máquina da
inteligência artificial.

2.2 REDE NEURAL ARTIFICIAL

Redes neurais artificiais, também chamadas de ANN, do inglês: artificial neural


network, são sistemas de computação parcialmente inspirados nas redes neurais
biológicas que constituem o cérebro humano (JAIN; MAO; MOHIUDDIN, 1996a).
16

Uma rede neural é um conjunto interconectado de elementos de processamento


simples, unidades ou nós, cuja funcionalidade é inicialmente inspirada no neurônio
biológico. A capacidade de processamento da rede é armazenada nas forças de
conexão entre unidades, denominadas de pesos, obtidos por um processo de
adaptação ou aprendizado de um conjunto de padrões de treinamento (CROSS;
HARRISON; KENNEDY, 1995).

2.2.1 Inspiração Biológica

Um neurônio consiste em uma soma (corpo celular), axônio (uma fibra longa) e
dendritos. O axônio envia sinais e os dendritos recebem sinais. Uma sinapse conecta
um axônio a um dendrito. Dado um sinal, uma sinapse pode aumentar (excitar) ou
diminuir (inibir) o potencial elétrico (YANG; YANG, 2014). Na Figura 1 podemos
observar a estrutura de um neurônio biológico.

Figura 1 – Estrutura de um neurônio biológico

Fonte: Moreira (2013).

A eficácia da sinapse pode ser ajustada pelos sinais que passam pelo neurônio para
que as sinapses possam aprender com as atividades das quais participam (JAIN;
MAO; MOHIUDDIN, 1996b). Ao determinar se um impulso deve ser produzido ou não,
alguns sinais de entrada produzem um efeito inibitório e tendem a impedir o disparo,
enquanto outros são excitatórios e promovem a geração de impulsos. A capacidade
de processamento distinta de cada neurônio deve então residir no tipo - excitatório ou
17

inibitório - e na força de suas conexões sinápticas com outros neurônios (CROSS;


HARRISON; KENNEDY, 1995).

É essa arquitetura e estilo de processamento que é tentado incorporar nas redes


neurais artificiais e, devido à ênfase na importância das conexões interneurônios, esse
tipo de sistema às vezes é chamado de conexionista e o estudo dessa abordagem
geral como conexionismo. Essa terminologia é muitas vezes aquela encontrada para
redes neurais no contexto de modelos biologicamente inspirados na função cognitiva
humana (CROSS; HARRISON; KENNEDY, 1995).

O equivalente artificial dos neurônios biológicos, um neurônio artificial pode ser


observado na Figura 2. De uma maneira simplificada, o algoritmo de redes neurais
artificiais funciona como o neurônio biológico, ou seja, há o recebimento de um
estímulo, o processamento de uma função e o retorno de um determinado valor.

Figura 2 – Neurônio Artificial

Fonte: Haykin (1998).

Os neurônios artificiais são unidades nas ANNs que recebem uma ou mais entradas
como valores numéricos associados aos seus respectivos pesos. Um “bias”,
parâmetro que serve para aumentar o grau de liberdade dos ajustes dos pesos, é
adicionado como um valor de entrada adicional à função de soma. O valor somado é
passado para a próxima fase para executar a função de ativação que produz a saída
do neurônio do neurônio (YACIM; BOSHOFF, 2018).
18

Figura 3 – Modelo de uma rede neural

Fonte: Autoria Própria (2022).

Normalmente, os neurônios são agregados em camadas, ilustradas como colunas na


Figura 3. Os sinais parte da primeira camada (a camada de entrada), para a última
camada (a camada de saída), entre nós temos as camadas ocultas: cada camada
diferente pode realizar transformações diferentes em suas entradas (CROSS;
HARRISON; KENNEDY, 1995).

Os neurônios, nós da rede, estão conectados entre si e podem processar e transmitir


um sinal entre si, conforme ilustrado na Figura 3. Estas ligações têm um peso
associado a elas que representa a sua importância relativa, este peso vai sendo
ajustado à medida que vamos treinando a nossa rede. O peso aumenta ou diminui a
força do sinal em uma conexão. Por exemplo, um neurônio que processa informações
que serão críticas para o resultado terá um peso maior atrelado a ele (CROSS;
HARRISON; KENNEDY, 1995).

2.3 APRENDIZADO DE MÁQUINA

Essencialmente, o aprendizado de máquina está interligado com Inteligência Artificial


e tem o objetivo em fazer com que os computadores forneçam insights sobre os
19

problemas sem programá-los explicitamente. A maioria das ferramentas e técnicas


que hoje se referem à IA são representativas do aprendizado de máquina. Existem
três tipos principais de aprendizado de máquina - aprendizado supervisionado,
aprendizado não supervisionado e aprendizado por reforço (MARKIEWICZ; ZHENG,
2019).

Aprender é como a rede se adapta para lidar melhor com uma tarefa, considerando
observações de amostra. Este processo envolve o ajuste dos pesos da rede para
melhorar a precisão dos resultados, minimizando os erros observados, considerando
a saída fornecida e a desejada. O aprendizado acontece quando estamos treinando
nossa rede, e o aprendizado é considerado completo quando o exame de
observações adicionais não reduz de forma útil a taxa de erro. Em geral, a taxa de
erro nunca chega a 0, apenas esperamos que seja pequena o suficiente. Porém, se
depois do aprendizado virmos que a taxa de erros ainda é “alta”, isso significa que
nosso modelo de rede deve ser modificado.

Ao falar sobre aprendizagem, devemos mencionar a taxa de aprendizagem, learning


rate. A taxa de aprendizagem define o quanto o modelo será ajustado levando em
consideração os erros em cada observação. É correto dizer que uma alta taxa de
aprendizado encurta o tempo de treinamento, mas pode afetar a precisão. Uma taxa
de aprendizado mais baixa implica em mais tempo de treinamento, mas pode fornecer
uma precisão maior. Devemos projetar nosso modelo de rede para ter o melhor
balanceamento entre taxa de aprendizado e precisão (SMITH, 2015).

2.3.1 Aprendizado Supervisionado

O aprendizado supervisionado treina com dados históricos e cria regras gerais a


serem utilizadas em dados futuros. Quanto melhores os resultados no conjunto de
treinamento, melhor a saída. No aprendizado supervisionado, o sistema aprende com
esses exemplos rotulados por humanos (MARKIEWICZ; ZHENG, 2019).

Esses dados possuem rótulos que definem o significado dos dados. Por exemplo,
pode haver milhões de imagens de animais e incluir uma explicação do que é cada
animal e então você pode criar um aplicativo de aprendizado de máquina que
20

diferencie um animal do outro. Ao rotular esses dados sobre tipos de animais, você
pode ter centenas de categorias de espécies diferentes. Como os atributos e o
significado dos dados foram identificados, é bem entendido pelos usuários que estão
treinando os dados modelados para que se ajustem aos detalhes dos rótulos
(LANGLEY; CARBONELL, 1984).

No aprendizado supervisionado os mais populares são: Classificação, Regressão e


Previsão.

• Classificação: Em tarefas de classificação, o programa de aprendizado de


máquina deve aprender a identificar o dado de entrada e classificá-lo em uma
das categorias apresentadas durante o processo de treinamento. Por exemplo,
ao filtrar e-mails como 'spam' ou 'não spam', o programa deve analisar os dados
observacionais existentes e filtrar os e-mails de acordo.

• Regressão: Em tarefas de regressão, o programa de aprendizado de máquina


deve estimar - e entender - as relações entre as variáveis. A análise de
regressão concentra-se em uma variável dependente e uma série de outras
variáveis - tornando-a particularmente útil para predição e previsão.

• Previsão: A previsão é o processo de fazer previsões sobre o futuro com base


nos dados passados e presentes e é comumente usada para analisar
tendências.

Os algoritmos são treinados usando exemplos pré-processados e, neste ponto, o


desempenho dos algoritmos é avaliado com dados de teste. Ocasionalmente, os
padrões identificados em um subconjunto dos dados não podem ser detectados na
população maior de dados. Se o modelo for adequado para representar apenas os
padrões que existem no subconjunto de treinamento, podemos gerar overfitting.
Overfitting significa que seu modelo é ajustado com precisão para seus dados de
treinamento, mas pode não ser aplicável a grandes conjuntos de dados
desconhecidos. Para evitar o overfitting, o teste precisa ser feito utilizando dados
novos, não utilizados durante o treinamento para avaliar a precisão do modelo. Os
modelos de treinamento supervisionado têm ampla aplicabilidade a uma variedade de
problemas de negócios, incluindo detecção de fraudes, sistemas de recomendação, e
de análise de riscos (LANGLEY; CARBONELL, 1984).
21

2.3.2 Aprendizado Não Supervisionado

Esses algoritmos exploram os dados e tentam encontrar alguma estrutura e


similaridade entre eles. Os algoritmos de aprendizado não supervisionado são
amplamente usados em clusterização. Este método de aprendizado tende a ser
menos preciso, pois os dados não possuem rótulos preexistentes para auxiliar os
algoritmos na compreensão dos dados. Embora seja mais difícil de processar, os
dados não estruturados compõem a grande maioria dos dados que as empresas
precisam processar hoje (MARKIEWICZ; ZHENG, 2019).

Algoritmos de aprendizado não supervisionado podem ajudar as empresas a entender


grandes volumes de dados não rotulados. Da mesma forma que o aprendizado
supervisionado, esses algoritmos procuram padrões nos dados; no entanto, a
diferença é que os dados ainda não foram identificados. Por exemplo, na área da
saúde, coletar grandes quantidades de dados sobre uma doença específica pode
ajudar os profissionais a obter insights sobre os padrões dos sintomas e relacioná-los
com os resultados dos pacientes. Levaria muito tempo para rotular todas as fontes de
dados associadas a uma doença como o diabetes. Portanto, uma abordagem de
aprendizado não supervisionado pode ajudar a determinar os resultados mais
rapidamente do que uma abordagem de aprendizado supervisionado (LANGLEY;
CARBONELL, 1984).

Dentro do aprendizado não supervisionado, temos:

• Clustering: Clustering envolve agrupar conjuntos de dados semelhantes. É útil


para segmentar dados em vários grupos e realizar análises em cada conjunto
de dados para encontrar padrões. Um exemplo é agrupar as pessoas de acordo
com seus comportamentos de consumo. Um dos problemas desse algoritmo
que não podemos verificar se as classificações estão corretas, pois não
conhecemos o verdadeiro agrupamento de cada indivíduo, já que o trabalho foi
feito sem supervisão (MONTESINOS LÓPEZ; MONTESINOS LÓPEZ;
CROSSA, 2022)

• Redução de dimensão: A redução de dimensão reduz o número de variáveis


consideradas para encontrar as informações necessárias (YIN, 2008).
22

2.3.3 Aprendizado Semi-supervisionado

Problemas de aprendizado semi-supervisionado são aqueles que possuem uma


grande quantidade de dados de entrada (X) disponíveis, mas apenas alguns dos
dados são rotulados (Y). Por esta razão, esses problemas estão associados entre
aprendizado supervisionado e não supervisionado (MONTESINOS LÓPEZ;
MONTESINOS LÓPEZ; CROSSA, 2022).

Um exemplo é a classificação de espécies de plantas usando milhares de imagens


onde apenas algumas das imagens são rotuladas (por exemplo, espécie 1, espécie 2,
espécie 3, etc.) e a maioria não está rotulada. Outro exemplo é a classificação de
exoplanetas, planetas que estão fora do nosso sistema solar, também usando
milhares de fotos onde apenas uma pequena fração das fotos é rotulada
(MONTESINOS LÓPEZ; MONTESINOS LÓPEZ; CROSSA, 2022).

Muitos problemas do mundo real no contexto de aprendizado de máquina estatístico


pertencem a esse tipo de processo de aprendizado. Isso ocorre porque é mais caro e
demorado usar dados rotulados do que dados não rotulados, pois muitas vezes isso
requer acesso a especialistas do domínio, é barato e fácil coletar e armazenar dados
não rotulados (MONTESINOS LÓPEZ; MONTESINOS LÓPEZ; CROSSA, 2022).

2.3.4 Aprendizado por Reforço

A aprendizagem por reforço é um modelo de aprendizagem comportamental. O


algoritmo recebe feedback da análise dos dados para que o usuário seja guiado para
o melhor resultado. O aprendizado por reforço difere de outros tipos de aprendizado
supervisionado porque o sistema não é treinado com o conjunto de dados de amostra.
Em vez disso, o sistema aprende por tentativa e erro. Portanto, uma sequência de
decisões bem-sucedidas fará com que o processo seja “reforçado” porque resolve
melhor o problema em questão (LANGLEY; CARBONELL, 1984).

Uma das aplicações mais comuns do aprendizado por reforço é na robótica ou em


jogos. Por exemplo, se queremos treinar um robô para mover em um conjunto de
escadas. O robô muda sua abordagem para se movimentar no terreno com base no
resultado de suas ações. Quando o robô cai, os dados são recalibrados para que as
23

etapas sejam navegadas de forma diferente até que o robô seja treinado por tentativa
e erro para entender como subir escadas. Em outras palavras, o robô aprende com
base em uma sequência bem-sucedida de ações. O algoritmo de aprendizado por
reforço deve ser capaz de descobrir uma associação entre o objetivo de subir escadas
com sucesso sem cair e a sequência de eventos que levam ao resultado (LANGLEY;
CARBONELL, 1984).

Uma das maneiras mais fáceis de pensar sobre o aprendizado por reforço é a maneira
como um animal é treinado para realizar ações com base em recompensas. Se o cão
receber uma guloseima toda vez que se sentar sob comando, ele fará essa ação a
cada vez. Hoje em dia, o aprendizado por reforço é um dos algoritmos que está sendo
usado para carros autônomos (LANGLEY; CARBONELL, 1984).

2.4 MAPAS DE KOHONEN

Entre várias arquiteturas de redes neurais e algoritmos de aprendizado existentes, o


Mapa Auto Organizável de Kohonen, é um dos modelos de rede neural mais populares
(YIN, 2008).

O Mapa Auto Organizável é uma técnica de redução de dimensionalidade que pode


nos dar insights sobre dados de alta dimensão buscando minimizar a computação
necessária. Mapas auto organizáveis podem ser usados para análise exploratória de
dados, problemas de agrupamento e visualização de conjuntos de dados de alta
dimensão (PONMALAI; KAMATH, 2019).

O mapa auto organizável, SOM, às vezes também chamado de mapa de Kohonen,


usa aprendizado competitivo não supervisionado para produzir representações de
baixa dimensão para dados de entrada de alta dimensão, preservando relações de
similaridade entre os itens de dados apresentados. Essa representação de baixa
dimensão é chamada de mapa de características (MILJKOVIĆ, 2017).

Neste trabalho o mapa de Kohonen será chamado de SOM, sigla proveniente do termo
self-organizing map, da linguagem inglesa, significando mapa auto organizável.
24

2.4.1 História e inspiração neurofisiológica

Os mapas auto organizáveis, SOMs, foram introduzido pelo professor finlandês Teuvo
Kohonen na década de 1980 e, portanto, às vezes é chamado de mapa de Kohonen
ou rede de Kohonen (KOHONEN, 1990).

Os mapas desenvolvidos por Kohonen são uma tentativa de imitar as ações aparentes
de uma pequena classe de redes neurais biológicas do cérebro. A ideia é criar uma
rede artificial que possa aprender, sem supervisão, uma representação abstrata de
alguma entrada sensorial (KOHONEN, 1990; SAYERS, 1991).

Mais especificamente, o SOM é um modelo matemático abstrato de mapeamento


topográfico dos sensores visuais para o córtex cerebral. A percepção visual humana
e o cérebro fazem parte do sistema de cognição complexo do corpo humano. As
entradas visuais contribuem para mais de 90% do total de informações (de todos os
sensores) que entram no cérebro (YIN, 2008).

A informação visual é processada tanto na retina quanto no cérebro, mas acredita-se


que a maior parte do processamento é feito na retina, como extrair linhas, ângulos,
curvas, contrastes, cores e movimento. A retina então codifica a informação e envia
por meio dos nervos ópticos e quiasma óptico, para o córtex cerebral nos hemisférios
esquerdo e/ou direito. Podemos então dizer que a retina é uma rede neural complexa
(YIN, 2008).

É importante ressaltar que as células nas redes neurais (na retina ou no cérebro)
também se conectam e interagem horizontalmente. Um experimento feito por Haldan
K. Hartline (Prêmio Nobel de 1967) e seus colegas na década de 1960, revelaram a
chamada atividade de “inibição lateral” entre as células da retina. Em outras palavras,
existe interação excitatória de curto alcance entre células próximas, bem como
interação inibitória de longo alcance entre vizinhos distantes. A inibição lateral nos diz
que os neurônios na retina não apenas alimentam as informações para os níveis
superiores, mas também realizam uma tarefa fundamental do processamento visual:
detecção e foco de bordas (YIN, 2008).

Após observações usando técnicas modernas de imagem que exibem a força e a


distribuição espacial das respostas neurais simultaneamente em uma grande área, foi
25

desenvolvida uma visão organizacional bastante detalhada do cérebro (KOHONEN,


1990).

Observando a atividade cerebral em resposta a um estímulo podemos apontar as


diferentes áreas responsáveis por diferentes funções. Poderíamos então dizer que o
cérebro é um sistema auto organizável (KOHONEN, 1990). Esses são tipos de
sistemas que podem mudar sua estrutura interna e função em resposta a
circunstâncias e estímulos externos. Elementos de tal sistema podem influenciar ou
organizar outros elementos dentro do mesmo sistema, resultando em uma maior
estabilidade da estrutura ou função do todo contra flutuações externas (MILJKOVIĆ,
2017).

Por exemplo, um conjunto de células foi encontrado no córtex auditivo de mamíferos


que respondem seletivamente a sons de diferentes frequências, de modo que a
localização de um neurônio responsivo parece estar diretamente relacionada à
frequência do som de entrada. Como pode ser observado na Figura 4, outras
representações topográficas foram encontradas nas áreas visual, somatossensorial e
no córtex motor do cérebro (KOHONEN, 1990; SAYERS, 1991).

Figura 4 – Ilustração do mapa do córtex primário e secundário

Fonte: Bear, Connors e Paradiso (2001).

Suportando então a hipótese de que o cérebro forma um mapeamento entre algum


espaço de entrada multidimensional e um conjunto 2-D de neurônios (KOHONEN,
1990).
26

A rede de Kohonen é uma tentativa de modelar, ainda que de forma bastante


simplificada, as ações desse tipo de rede.

2.4.2 Princípios do SOM

Os SOMs são construídos usando uma rede 2-D de nós predefinidos. Esta rede de
nós tem uma estrutura que é definida dando a cada nó uma localização em 𝑅 2 ,
representada como um vetor 𝑙𝑖 onde 𝑖é o índice daquele nó. Um visual do espaço da
rede pode ser visto na Fiura 5 à esquerda. Cada nó na rede também tem uma posição
no espaço de dados de entrada, representada como um vetor 𝑤𝑖 ∈ 𝑅 𝑑 onde 𝑑 é a
dimensão dos dados de entrada. Cada nó é uma conexão entre 𝑅 𝑑 e 𝑅 2 (PONMALAI;
KAMATH, 2019).

Em tal modo podemos entender como SOMs produzem imagens de projeção de baixa
dimensão de distribuições de dados de alta dimensão, 𝑅 𝑑 → 𝑅 2, preservando ao
mesmo tempo as relações de similaridade entre os dados de entrada (KOHONEN,
2014). A localização espacial de uma unidade de saída em um mapa topográfico
corresponde a um domínio ou característica particular dos dados extraídas do espaço
de entrada (KOHONEN, 1990).

Figura 5 – Representação do SOM para dados de entrada em 𝑅3

Fonte: Ponmalai e Kamath (2019).


27

A Figura 5 ilustra como a estrutura da rede do SOM é preservada em um espaço


dimensional superior.

2.4.3 Estrutura de um Mapa de Kohonen

Ao ser definido um Mapa de Kohonen, é necessário especificar sua estrutura, isto é,


é preciso definir quais nós da rede são considerados seus vizinhos próximos, o que é
chamado de topologia (KOHONEN, 1990). Além disso, precisamos definir o tamanho
do mapa. Esses parâmetros são muito importantes e influenciam no resultado.

2.4.3.1 Topologia da rede

As topologias de um SOM podem estar em uma, duas ou mesmo três dimensões,


sendo a rede 2-D a mais popular. As topologias mais utilizadas nas redes
bidimensionais são a grade retangular e a hexagonal. As topologias tridimensionais
podem ser em forma de cilindro ou toro (MILJKOVIĆ, 2017). Exemplos de topologias
1-D (linear) e 2-D são ilustradas na Figura 6.

Figura 6 – Topologias do SOM

Fonte: Autoria Própria (2022).

Existem também SOMs especiais nos quais a estrutura e o número de nós na rede
são determinados dinamicamente, dependendo dos dados de entrada (FRITZKE,
1994). Neste estudo será adotada a topologia retangular.
28

2.4.3.2 Tamanho da rede

Uma das perguntas mais frequentes sobre a estrutura do SOM é quantos nós são
necessários na rede. O SOM é um método de quantização (KOHONEN, 2014). O
mapa possui uma resolução espacial limitada para mostrar os detalhes dos clusters.
Às vezes, o conjunto de dados de entrada pode conter apenas alguns clusters, sendo
suficiente uma baixa resolução. No entanto, se é suspeito que existem muitas
características interessantes nos dados de entrada, será necessária uma matriz maior
para obtermos uma resolução suficiente.

Dito isso, não é possível estimar ou mesmo adivinhar o tamanho exato da matriz de
antemão. O tamanho deve ser determinado pelo método de tentativa e erro, após
análise da qualidade dos resultados com a resolução do primeiro palpite. Pode ser
que seja necessário testar vários tamanhos do SOM para verificar se as estruturas do
cluster são mostradas com resolução e precisão estatística suficientes. As matrizes
SOM típicas variam de algumas dezenas a algumas centenas de nós (KOHONEN,
2014).

2.4.4 Operações de aprendizagem do SOM

A aprendizagem de uma rede neural SOM inclui três tipos de operações: competição,
colaboração e adaptação (KOHONEN, 1990).

• Competição: para cada vetor de padrão de entrada apresentado ao mapa,


todos neurônios calculam valores de uma função discriminante. Essa função
será descrita na Seção 2.5 deste documento. Essa função define qual neurônio
é mais semelhante ao vetor padrão de entrada e ele é declarado o vencedor.
O neurônio vencedor é chamado de BMU, sigla para o termo em Inglês: best
matching unit, que significa, melhor unidade de correspondência (MILJKOVIĆ,
2017).

• Colaboração: o neurônio vencedor (BMU) encontra a localização espacial de


uma vizinhança topológica de neurônios excitados. Neurônios desta vizinhança
podem então cooperar (MILJKOVIĆ, 2017). O quanto um vizinho de uma
unidade nomeada BMU é afetado por essa colaboração é controlado por uma
29

função chamada função de vizinhança e é proporcional à distância dos dois


nós no espaço da rede (PONMALAI; KAMATH, 2019). O que define uma
vizinhança e como vizinhos são afetados está discutido na Seção 2.5.

• Adaptação: compreende a modificação dos pesos sinápticos da unidade


vencedora por uma regra de aprendizagem. O vetor de pesos sinápticos da
unidade vencedora, 𝑤𝑏𝑚𝑢 , se move na direção do vetor do padrão de entrada
(KOHONEN, 1990).

Como vimos, a ideia básica por trás da rede de Kohonen é a formação de uma matriz
de nós interconectados. Esses nós são como os neurônios de nossa rede neural.

Quando um padrão de entrada é apresentado à rede, a resposta de cada neurônio é


avaliada e aquele que produziu a resposta máxima, o BMU, bem como aqueles
adjacentes a ele na matriz, são modificados para produzir uma resposta mais forte a
essa entrada.

Figura 7 – Representação de um SOM conectado com um vetor de entrada

Fonte: Autoria Própria (2022).

Após várias apresentações de cada padrão de entrada, o sistema deve, idealmente,


atingir um estado em que uma "imagem ordenada" da entrada seja armazenada na
30

rede (SAYERS, 1991). Podemos observar um exemplo da ordenação atingida na


Figura 8 durante o treinamento de um SOM contendo dados de entrada RGB.

Figura 8 – SOM com dados RGB sendo treinados

Fonte: Carnahan et al. (2008).

2.5 ALGORITMO DOS MAPAS DE KOHONEN

A rede de SOM convencional geralmente consiste em uma de n × m neurônios


localizados em uma grade bidimensional retangular ou hexagonal. Cada neurônio 𝑖
tem um vetor de peso d-dimensional 𝑤𝑖 = (𝑤𝑖1 , 𝑤𝑖2 , … , 𝑤𝑖𝑑 ) ∈ 𝑅 𝑑 sendo 𝑖 os valores
espaciais que representam o índice do nó ao qual 𝑤𝑖 está associado. Logo, 𝑖 =
(1,2, … , 𝑛𝑚)(KOHONEN, 2014).

Os valores iniciais de todos os vetores de peso são escolhidos aleatoriamente no


espaço de entrada. Os dados de entrada d-dimensionais 𝑥𝑗 = (𝑥𝑗1 , 𝑥𝑗2 , … , 𝑥𝑗𝑑 ) onde
𝑗 = (1,2, … , 𝑛𝑚) são esperados normalizados, dentro de um intervalo de 0 a 1 (CHEN
et al., 2014).

Para ajudar na compreensão do algoritmo cada etapa da lógica será exemplificada


utilizando um exemplo de organização de um mapa de Kohonen utilizando dados de
entrada de cores RGB.
31

Figura 9 – Exemplo de um mapa de Kohonen com entradas RGB

Fonte: Autoria Própria (2022).

Nesse exemplo ilustrado na Figura 9, podemos ver um mapa 25x25, ou seja, com 625
neurônios, com dados de entrada sendo vetores de 3 dimensões contendo o valor
RGB de cada cor. Entendendo melhor como é composto o nosso mapa temos uma
rede onde cada neurônio possui um peso associado à ele, na Figura 10. Está ilustrado
a inicialização aleatória de cada neurônio, pode-se verificar que a dimensão do vetor
peso 𝑤𝑖 é a mesma dos vetores de entrada.

Figura 10 – Inicialização de um mapa de Kohonen com entradas RGB

Fonte: Autoria Própria (2022).

A inicialização dos modelos como vetores aleatórios foi originalmente usada apenas
para demonstrar a capacidade do SOM de se tornar ordenado, a partir de um estado
inicial arbitrário. Em aplicações práticas espera-se atingir o ordenamento final o mais
rápido possível, de modo que a seleção de um bom estado inicial pode acelerar a
convergência dos algoritmos em ordens de grandeza (KOHONEN, 2014).
32

O BMU é definido como o nó que está mais próximo do ponto de dados no espaço de
entrada. Para calcularmos essa distância será utilizada a distância Euclidiana
(KOHONEN, 1990). Seja 𝑐(𝑥) o índice da melhor unidade de emparelhamento do
ponto 𝑥𝑗 . O BMU pode ser denotado como:

𝑐(𝑥) = 𝑎𝑟𝑔𝑚𝑖𝑛{‖𝑤𝑖 − 𝑥𝑗 ‖} (1)


𝑖

onde ‖𝑤𝑖 − 𝑥𝑗 ‖ é a distância Euclidiana entre 𝑤𝑖 e𝑥𝑗 :

2
‖𝑤𝑖 − 𝑥𝑗 ‖ = √∑𝑚
𝑖=1(𝑤𝑖 − 𝑥𝑗 ) (2)

Ou seja, no exemplo da Figura 11 para um dado de entrada do vetor azul, será


calculado a distância entre cada neurônio do mapa de Kohonen e o vetor de entrada.

Figura 11 – Dado de entrada azul para um mapa de Kohonen RGB

Fonte: Autoria Própria (2022).

Figura 12 – Exemplos de pesos dos neurônios do mapa de Kohonen RGB

Fonte: Autoria Própria (2022).


33

Para os exemplos de pesos da Figura 12, seria calculado a distância Euclidiana de


cada peso com o dado de entrada. Sendo isso teríamos:

‖𝑤1 − 𝑥𝑎𝑧𝑢𝑙 ‖ = √(223 − 0)2 + (159 − 0)2 + (54 − 255)2 = 339,7

‖𝑤2 − 𝑥𝑎𝑧𝑢𝑙 ‖ = √(225 − 0)2 + (18 − 0)2 + (18 − 255)2 = 327,3

‖𝑤625 − 𝑥𝑎𝑧𝑢𝑙 ‖ = √(18 − 0)2 + (178 − 0)2 + (225 − 255)2 = 181,4

Considerando essas três distâncias calculadas, o BMU do exemplo seria o 𝑤625 por
ter a menor distância calculada. O qual visualmente podemos ver que também é o
mais parecido com o input de entrada.

Então, os vetores de peso do vencedor e seus vizinhos são atualizados usando

𝑤𝑖 (𝑡 + 1) = 𝑤𝑖 (𝑡) + ℎ𝑐,𝑖 (𝑥𝑗 − 𝑤𝑖 (𝑡)) (3)

onde t é o passo de aprendizagem, e ℎ𝑐,𝑖 é chamada de função de vizinhança.


Neurônios dentro de uma rede interagem entre si usando essa função (KOHONEN,
1990). Essa é a etapa de colaboração do algoritmo SOM.

De volta ao nosso exemplo RGB, para um padrão de entrada azul, ao encontrarmos


um BMU correspondente ele se torna praticamente uma cópia da entrada e sua
vizinhança também é afetada levando em consideração o quão próximo eles estão.
Essa atualização está ilustrada na Figura 13.

Figura 13 – Atualização dos neurônios do mapa de Kohonen RGB

Fonte: Carnahan et al. (2008).


34

As funções de vizinhança geralmente assumem a forma de uma curva de sino, de


distribuição Gaussiana (KOHONEN, 1990), pela motivação biológica que a interação
lateral de neurônios muitas vezes segue essa curva (KOHONEN, 1990). Embora
outras funções como cone e cilindro também possam ser usadas, é comum escolher
uma função de vizinhança com decaimento exponencial. (MILJKOVIĆ, 2017).

Sendo ‖𝑟𝑖 − 𝑟𝑐 ‖ a distância entre os nós do mapa 𝑐 e 𝑖 na rede, os requisitos para uma
função de vizinhança são:

• ℎ𝑐,𝑖 deve atingir seu máximo quando ‖𝑟𝑖 − 𝑟𝑐 ‖ = 0 e ser simétrica em relação
ao nó vencedor 𝑐.

• Conforme ‖𝑟𝑖 − 𝑟𝑐 ‖ aumenta, ℎ𝑐,𝑖 deve diminuir. Ou seja, hipoteticamente,


ℎ𝑐,𝑖 → 0 enquanto ‖𝑟𝑖 − 𝑟𝑐 ‖ → ∞.

Qualquer função que atenda a esses requisitos é dita uma função de vizinhança válida
(KOHONEN, 2001).

A função de vizinhança, ℎ𝑐,𝑖 , é a função que cria a conexão entre o espaço de entrada
e o espaço de rede, ela cria a propriedade de auto-organização do mapa (PONMALAI;
KAMATH, 2019).

Contudo, o impacto da variação da função de vizinhança somente é visto durante as


etapas iniciais de treinamento. Como a maioria das iterações de treinamento tem uma
vizinhança com 1 ou nenhum vizinho, a escolha da função de vizinhança é quase
irrelevante. Na fase de organização, desde que o raio seja de tamanho adequado, é
provável que o mapa se auto-organize. Uma vez iniciada a fase de convergência, não
importa qual seja a função de vizinhança, desde que o tamanho da vizinhança capture
apenas um ou zero vizinhos de um determinado nó (PONMALAI; KAMATH, 2019).

Podemos observar na Figura 14 como diferentes funções de vizinhança se comportam


com o decaimento da largura da vizinhança. Podemos observar que existe uma
grande diferença quando a vizinhança é grande, mas com a diminuição do raio da
vizinhança as funções começam a se tornarem parecidas.

As funções ilustradas são as seguintes:


35

1‖𝑟𝑖 − 𝑟𝑐 ‖ ≤ 𝜎(𝑡)
• Função Passo: ℎ𝑐,𝑖 = {
0se não

‖𝑟𝑖 −𝑟𝑐 ‖
1− ‖𝑟𝑖 − 𝑟𝑐 ‖ ≤ 𝜎(𝑡)
• Função Triangular: ℎ𝑐,𝑖 = { 2𝜎(𝑡)
0se não

−‖𝑟𝑖 −𝑟𝑐 ‖2
) ‖𝑟𝑖 − 𝑟𝑐 ‖ ≤ 𝜎(𝑡)
• Função Gaussiana com corte: ℎ𝑐,𝑖 = {𝑒𝑥𝑝 ( 2𝜎2 (𝑡)
0se não

−‖𝑟𝑖 −𝑟𝑐 ‖2
• Função Gaussiana: ℎ𝑐,𝑖 = 𝑒𝑥𝑝 ( )
2𝜎2 (𝑡)

Figura 14 – Comparação do comportamento das funções de vizinhança com o decaimento do raio

Fonte: Ponmalai e Kamath (2019).


36

Figura 15 - Função de vizinhança Gaussiana

Fonte: Autoria Própria (2022).

Neste trabalho a função de vizinhança usada será a originalmente sugerida por


Kohonen (KOHONEN, 1990), e é descrita como:

−‖𝑟𝑖 −𝑟𝑐 ‖2
ℎ𝑐,𝑖 = 𝛼(𝑡)𝑒𝑥𝑝 ( ) (4)
2𝜎2 (𝑡)

onde ‖𝑟𝑖 − 𝑟𝑐 ‖ é a distância entre os nós do mapa 𝑐 e 𝑖 na rede, 𝛼(𝑡) é a taxa de


aprendizado e 𝜎(𝑡) corresponde à largura da função de vizinhança. A figura abaixo
representa o gráfico da função de vizinhança Gaussiana.

Tanto α(t) quanto σ(t) diminuem com o tempo. Neste estudo, usamos as seguintes
equações, para a taxa de aprendizado e largura da função de vizinhança
respectivamente:

𝑡
𝛼 𝑇
𝛼(𝑡) = 𝛼0 (𝛼𝑇 ) (5)
0

𝑡
𝜎 𝑇
𝜎(𝑡) = 𝜎0 (𝜎𝑇 ) (6)
0

Pelas equações (5) e (6), pode-se ver que ℎ𝑐,𝑖 é uma função decrescente, que
depende principalmente do tempo de iteração t (CHEN et al., 2014).
37

Figura 16 – Comportamento de um Mapa de Kohonen durante treinamento de rede

Fonte: Ponmalai e Kamath (2019).

É possível observar na Figura 16 um exemplo do comportamento do SOM durante


seu processo de ordenação. De primeiro os nós da rede são posicionados
randomicamente na rede. E após cada iteração o mapa tende a se organizar e se
aproximar da distribuição dos padrões de entrada.

2.6 AVALIANDO O MAPA DE KOHONEN

Na literatura existe um método de rotulagem onde é levado em consideração quais


neurônios da rede SOM melhor respondem para os dados de entrada e, a partir dessa
informação, associar o neurônio à um rótulo (KHACEF et al., 2019; PONMALAI;
KAMATH, 2019). Estudos também apontam que a quantidade mínima de amostras
rotuladas de treinamento necessárias é 1% para uma boa precisão ao rotular o mapa
de Kohonen treinado (KHACEF et al., 2019).

O algoritmo de rotulagem pode ser resumido em quatro passos:

1. Calcula-se as distâncias dos neurônios com dados de entrada.

2. É escolhido o neurônio vencedor, o BMU (do inglês, Best Match Unit).


38

3. Cada neurônio, 𝑤𝑖 , acumula sua distância normalizada em relação à distância


BMU em uma variável com a classe correspondente, 𝑉𝑤𝑖 [𝑐𝑙𝑎𝑠𝑠𝑒], repetindo as
três etapas para todas as imagens de subconjunto de rotulagem.

4. Por fim, é escolhido o rótulo de cada neurônio dependendo da classe do


acumulador que melhor respondeu.

Após a rotulagem, a etapa restante é o teste de precisão, para isso são utilizados os
dados rotulados que não foram utilizados na etapa de treinamento, sendo observado
se os dados são classificados conforme os rótulos definidos. A precisão é calculada
levando em consideração a quantidade de acertos e a quantidade total de dados de
teste.

Exemplificando o algoritmo de rotulagem vamos tentar entender o funcionamento


desse algoritmo com um exemplo aplicado em uma rede fictícia de 2x2 onde foram
organizados dados de cores azul e vermelho, como ilustrado na Figura 17.

Os dados à direita com os rótulos são dados de entrada do algoritmo de rotulagem.

Figura 17 – Exemplificando o algoritmo de rotulagem

Fonte: Autoria Própria (2022).

Ilustrado na Figura 18 para um rótulo de entrada azul foi calculada a distância entre
todos os pesos do mapa organizado de Kohonen e escolhido o de menor distância
como BMU. Após isso cada neurônio, 𝑤𝑖 , acumula sua distância normalizada em
relação à distância BMU em uma variável com o rótulo da classe correspondente.
39

Figura 18 – Dado de entrada azul no algoritmo de rotulagem

Fonte: Autoria Própria (2022).

Esse processo foi repetido para todos os padrões de entrada no algoritmo de


rotulagem, como ilustrado na Figura 19.

Figura 19 – Entradas com rótulos no algoritmo de rotulagem

Fonte: Autoria Própria (2022).

Por fim, o acumulador é normalizado e é escolhido o rótulo de cada neurônio


dependendo da classe do acumulador que melhor respondeu, como ilustrado na
Figura 20.
40

Figura 20 – Rotulagem resultante do algoritmo

Fonte: Autoria Própria (2022).

2.7 APLICAÇÕES DO SOM

Apesar de sua simplicidade, os SOMs podem ser usados em uma ampla lista de
aplicações. Isso em um sentido amplo inclui visualizações, geração de mapas de
recursos, reconhecimento e classificação de padrões (MILJKOVIĆ, 2017).

Em um de seus livros Kohonen menciona as seguintes aplicações: visão de máquina


e análise de imagem, reconhecimento óptico de caracteres e leitura de script, análise
e reconhecimento de fala, estudos acústicos e musicais, processamento de sinal e
medições de radar, telecomunicações, medições industriais e outras do mundo real ,
controle de processos, robótica, química, física, projeto de circuitos eletrônicos,
aplicações médicas sem processamento de imagem, problemas linguísticos e de IA
de processamento de dados, problemas matemáticos e pesquisa neurofisiológica.
(KOHONEN, 1997).

Os seres humanos não podem visualizar dados de alta dimensão, portanto, os SOMs
são amplamente utilizados para visualização de dados para uma grade bidimensional.
SOMs também são adequados para geração de mapas de características. Por serem
capazes de detectar agrupamentos de padrões semelhantes sem supervisão, os
SOMs são uma ferramenta poderosa para identificação e classificação de padrões
espaço-temporais (MILJKOVIĆ, 2017).
41

Algumas limitações do SOM estão relacionadas à necessidade da predefinição da


estrutura do mapeamento resultantes, a quantidade de nós, e como os nós estão
conectados com sua vizinhança. A determinação desses parâmetros pode ser
computacionalmente cara, e pode levar a geração de clusters em locais diferentes
referentes ao mesmo grupo (KOHONEN, 2014).

Na próxima sessão será detalhado como os mapas de Kohonen são utilizados em


algoritmos de reconhecimento de fala, imagens e análises médicas, e robótica.

2.7.1 Reconhecimento de fala

A máquina de escrever fonética neural para finlandês e japonês foi desenvolvida por
Kohonen em 1988 (KOHONEN, 1990). O sinal do microfone segue para o pré-
processamento acústico, formando um vetor padrão de 15 componentes (valores em
15 frequência diferentes tomados a cada 10 ms), contendo uma descrição espectral
de tempo curto da fala. Esses vetores são apresentados a um SOM com a rede
hexagonal de tamanho 8 x 12 (MILJKOVIĆ, 2017).

Figura 21 – Mapa Fonético

Fonte: Kohonen (1990).


42

Após o treinamento, o mapa fonético resultante é mostrado na Figura 21. Podemos


perceber que nesse estudo houve uma redução de dimensão 15 para 2.

Durante o reconhecimento de fala, novos vetores de padrão são atribuídos à categoria


pertencente a um protótipo mais próximo.

2.7.2 Imagens e análises médicas

O reconhecimento de doenças a partir de imagens médicas, capturadas por


eletrocardiograma (ECG), tomografia computadorizada, ultrassom, etc, pode ser
realizado por SOMs (GRAJCIAROVA et al., 2012).

Por exemplo, em um estudo realizado por Ibrahim et al. (2020), foi utilizado um mapa
de Kohonen para melhor reconhecimento de sepse através de dados médicos. Sepse
é uma resposta à infecção com risco de vida e potencialmente levando à falência de
múltiplos órgãos.

Figura 22 – Mapa de Kohonen resultante da pesquisa com pacientes sépticos.

Fonte: Ibrahim et al (2020).


43

Este estudo buscou classificar os tipos de disfunção orgânica observada em pacientes


que desenvolvem sepse na unidade de terapia intensiva (UTI) para melhorar a
capacidade de reconhecer pacientes com risco de sepse (IBRAHIM et al., 2020).

No artigo o procedimento de agrupamento revelou 4 subpopulações com padrões


distintos de disfunção orgânica em pacientes sépticos no banco de dados utilizado
(IBRAHIM et al., 2020). Os padrões visíveis na sessão B da figura sugerem 4
agrupamentos, demonstrados na sessão A da figura.

2.7.3 Robótica

Algumas aplicações dos SOMs são o controle do braço do robô, o aprendizado do


mapa de movimento e a resolução do problema do caixeiro viajante (MILJKOVIĆ,
2017).

A construção de mapas é uma grande dificuldade da robótica móvel. O termo refere-


se aos casos em que um robô é forçado a se mover em um ambiente desconhecido e
tem que construir um mapa inteiramente baseado em suas informações sensoriais.
Em alguns estudos foi utilizada uma rede neural artificial auto-organizada de Kohonen,
método para construir mapas de robôs (TANG; ROBEY, 2017; VLASSIS;
PAPAKONSTANTINOU; TSANAKAS, 1998).

A noção de construção de mapas auto organizáveis para a navegação do robô decorre


da observação de que o ambiente em que o robô se move pode ser visto como um
espaço de entrada bidimensional, com alta probabilidade em regiões abertas e baixa
probabilidade em regiões de obstáculos (VLASSIS; PAPAKONSTANTINOU;
TSANAKAS, 1998).

Nesta ideia, Vlassis, Papakonstantinou e Tsanakas (1998) fizeram um estudo onde foi
construído um mapa bidimensional auto organizável com um número pré-definido de
nós, neurônios, ao longo de cada dimensão, dispostas de forma hexagonal. A
quantidade de nós depende da estrutura do ambiente.
44

Figura 23 - SOM aplicado na robótica móvel

Fonte: Vlassis, Papakonstantinou e Tsankas (1998).

A posição do robô em cada instância torna-se o vetor de entrada para a rede. Na


Figura 23a, é mostrado a configuração inicial de um mapa antes do procedimento de
aprendizado sobre um típico arranjo interno de obstáculos. Para ajustar as células do
mapa, o robô começa a explorar o ambiente e coleta os pontos de suas trajetórias.
Supondo que o robô esteja equipado com um mecanismo de prevenção de obstáculos
e as amostras estejam corretas (por exemplo, as medidas do hodômetro são
ajustadas continuamente) esses valores podem treinar adequadamente o SOM
(VLASSIS; PAPAKONSTANTINOU; TSANAKAS, 1998).

2.8 FERRAMENTAS PRINCIPAIS

2.8.1 Python

Python é uma linguagem de programação de alto nível, de compreensão fácil e rápida,


open-source, orientada a objeto.

Devido a sua popularidade e quantidade de bibliotecas desenvolvidas para uso de


aprendizado de máquina e análise de dados, essa será a linguagem utilizada para os
códigos desenvolvidos neste estudo.

2.8.2 Tensorflow

O TensorFlow é uma plataforma completa de código de ponta a ponta para


aprendizado de máquina que usa gráficos de fluxo de dados para representar a
computação, o estado compartilhado e as operações que alteram esse estado. Ele
45

mapeia os nós de um gráfico de fluxo de dados em vários dispositivos computacionais,


incluindo CPUs multi-core, GPUs de uso geral e Tensor Processing Units (TPUs).
Resumindo, os gráficos são extremamente úteis e permitem que seu TensorFlow seja
executado rapidamente , executado em paralelo e executado operações com
eficiência (TENSORFLOW, 2022a).

2.8.3 MNIST

O banco de dados MNIST de dígitos manuscritos, possui um conjunto de treinamento


de 60.000 exemplos e um conjunto de teste de 10.000 exemplos. É um subconjunto
de um conjunto maior disponível no NIST. Os dígitos estão normalizados e
centralizados em uma imagem de tamanho fixo (LECUN; CORTES, 2010;
TENSORFLOW, 2022b).

As imagens originais em preto e branco (de dois níveis) do NIST foram normalizadas
em tamanho para caber em uma caixa de 20x20 pixels, preservando sua proporção.
As imagens resultantes contêm níveis de cinza como resultado da técnica de
antiserrilhamento, anti-aliasing, usada pelo algoritmo de normalização. As imagens
foram centralizadas em uma imagem 28x28 utilizando o centro de massa dos pixels
como indicação, e movendo a imagem de forma a posicionar este ponto no centro do
campo 28x28 (LECUN; CORTES, 2010).

Figura 24 – Exemplos de dados existentes no banco de dados MNIST de dígitos manuscritos

Fonte: TensorFlow (2022).


46

3 DESENVOLVIMENTO

O objetivo principal deste estudo é entender o funcionamento do algoritmo SOM, suas


vantagens e desvantagens. Além de observar como dimensões diferentes do SOM
afetam a organização final do mapa de Kohonen resultante. Neste sentido, as etapas
de desenvolvimento do código incluem pré-processamento dos dados de entrada, o
treinamento do mapa auto-organizável, rotulagem e teste do SOM resultante.

3.1 PRÉ-PROCESSAMENTO DOS DADOS DE ENTRADA

3.1.1 Normalização

As imagens de entrada da biblioteca MNIST estão centralizadas em um quadrado de


28x28 pixels. Os valores de pixel podem variar de 0 a 255. Sendo que o valor do pixel
representa a intensidade da cor. Para auxiliar no processamento dessas imagens, os
pixels foram normalizados entre 0 e 1. Assim, para isso todos os valores de pixels
foram divididos por 255, que é o valor máximo que pode ocorrer.

3.1.2 Redimensionamento

A fim de facilitar o desenvolvimento do código, é necesário redimensionar o padrão


de entrada do tamanho 28x28 para 784x1. Essa etapa é necessária, pois todas as
posições do padrão de entrada precisam estar conectadas com todos os neurônios
do SOM. A Figura 25 apresenta a conexão na rede SOM sem alterar a estrutura
padrão de entrada. É possível notar que seria necessário variar para cada posição,
(𝑖, 𝑗), do padrão de entrada a posição do neurônio do SOM, (𝑛, 𝑚).
47

Figura 25 – Conexão de um padrão de entrada 𝑅2 para o SOM

Fonte: Autoria Própria (2022).

Por isso, os dados de entrada são redimensionados, conforme a Figura 26, para que
seja variada somente uma posição, (𝑖, 1), do padrão de entrada para a posição do
neurônio do SOM, (𝑛, 𝑚) (Figura 27).

Figura 26 – Redimensionamento do padrão de entrada

Fonte: Autoria Própria (2022).


48

Figura 27 – Conexão de um padrão de entrada 1-D para o SOM

Fonte: Autoria Própria (2022).

Ao final, tem-se a mesma quantidade de conexões 784 ∗ (𝑛 ∗ 𝑚), 784*(m*n), porém


no segundo método haverá menos laços de iteração para definir essas conexões.

3.1.3 Divisão dos dados para treino, rótulo e teste

O MNIST já possui dados separados para treino e teste, inclusive os rótulos de cada
grupo. Porém, como o objetivo deste trabalho é simular um aprendizado não
supervisionado, os rótulos de treino serão ignorados. Serão guardados somente 1%
de dados com rótulos para rotulagem após o treinamento da rede SOM. Já os rótulos
de teste serão guardados para medirmos a acurácia do algoritmo.

3.2 ALGORITMO PARA TREINAMENTO DO MAPA AUTO-ORGANIZÁVEL

A fim de otimizar o tempo de treinamento, o código SOM desenvolvido utiliza as


funções existentes do TensorFlow que aproveita e otimiza o uso do GPU. Sendo assim
é necessário rodar o código desenvolvido em uma máquina com GPU.

O SOM desenvolvido neste estudo está programado com uma grade de vizinhança
retangular e esse parâmetro não será configurável. Além disso, é esperado que a
dimensão do padrão de entrada seja igual a 1.
49

Tabela 1 – Algoritmo de treinamento do SOM


SOM

1. Configure a rede SOM com os seguintes parâmetros de entrada:


a. Dimensões de altura e largura do SOM, (𝑛 ∗ 𝑚).
b. Dimensão do vetor de entrada 𝑑𝑖𝑚.
c. Taxa de aprendizado inicial.
d. Taxa de aprendizado final, após todas as iterações de treinamento.
e. Tamanho do raio inicial da vizinhança.
f. Tamanho do raio final da vizinhança, após todas as iterações de treinamento.
g. Quantidade de iterações T a serem realizadas.
2. Prepare a rede SOM:
a. Inicialize aleatoriamente uma variável de tamanho (𝑛 ∗ 𝑚, 𝑑𝑖𝑚) para armazenar os pesos
do SOM.
b. Defina uma variável que contenha a posição dos neurônios. A posição é importante para
definirmos quem são seus vizinhos.
3. Apresente aleatoriamente um vetor de entrada 𝑥𝑗 à rede.
4. Calcule a distância Euclidiana ‖𝑤𝑖 − 𝑥𝑗 ‖ descrita na Equação 2, entre cada neurônio 𝑤𝑖 e vetor
de entrada 𝑥𝑗 .
5. Defina o BMU pela Equação 1: 𝑐(𝑥) = 𝑎𝑟𝑔𝑚𝑖𝑛 {‖𝑤𝑖 − 𝑥𝑗 ‖}.
𝑖

6. Atualize o peso do neurônio e de seus vizinhos, cujo tamanho da vizinhança é definida por
𝜎(𝑡). Os novos pesos são corrigidos pela Equação 3:

𝑤𝑖 (𝑡 + 1) = 𝑤𝑖 (𝑡) + ℎ𝑐,𝑖 (𝑥𝑗 − 𝑤𝑖 (𝑡))

a. A taxa de aprendizagem 𝛼(𝑡) é decrementado como descrito pela Equação 5:


𝑡
𝛼𝑇 𝑇
𝛼(𝑡) = 𝛼0 ( )
𝛼0
b. O quanto os pesos são influenciados pelo BMU é definita pela Equação 4:
−‖𝑟𝑖 − 𝑟𝑐 ‖2
ℎ𝑐,𝑖 = 𝛼(𝑡)𝑒𝑥𝑝 ( )
2𝜎 2 (𝑡)
sendo que o quão maior a distância do BMU com seu vizinho menor o ℎ𝑐,𝑖 .
c. Para a equação 4, temos a função referente ao raio da função de vizinhança 𝜎(𝑡) que é
decrementado como descrito pela Equação 6:
𝑡
𝜎𝑇 𝑇
𝜎(𝑡) = 𝜎0 ( )
𝜎0
7. Retorne ao passo (3) para todos os vetores de entrada 𝑥𝑗 à rede.
8. Retorne ao passo (3) para todas as épocas até que t=T.
Fonte: Autoria Própria (2022).
50

3.3 ALGORITMO PARA ROTULAGEM DO SOM TREINADO

Após treinada a rede SOM iremos entrar na etapa supervisionada de nosso código,
onde, utilizando 1% de rótulos dos dados de treinamento iremos atribuir a cada
neurônio da rede um rótulo.

Como mencionado no referencial teórico, para cada padrão de entrada dado à rede,
é calculada a distância euclidiana entre o padrão de entrada e todos os neurônios da
rede SOM, o neurônio com a menor distância para o padrão de entrada é denominado
neurônio vencedor e é chamado de BMU. Logo esse BMU é definido como o neurônio
que está mais próximo do ponto de dados no espaço de entrada. A noção do BMU é
o que será utilizado como base no algoritmo de rotulagem e teste.

A lógica utilizada na rotulagem se encontra na Tabela 2.

Tabela 2 – Algoritmo de rotulagem do SOM treinado

ROTULAGEM

1. Informe ao algoritmo de rotulagem os seguintes parâmetros de entrada:


a. Quantidade de classes existentes no banco de dado de treinamento, 𝑐𝑙𝑎𝑠𝑠𝑛𝑏𝑟 .
b. Pesos resultados do SOM treinado.
c. Vetores de entrada.
d. Rótulos referentes aos vetores de entrada.
2. Prepare algumas variáveis:
a. Inicialize uma variável que será responsável em armazenar a soma da distância de cada
neurônio com cada tipo de classe.
b. Inicialize um contador para cada categoria de rótulo.
3. Calcula-se as distâncias dos neurônios com dados de entrada
4. É escolhido o neurônio vencedor, o BMU.
5. Cada neurônio, 𝑤𝑖 , salva sua distância normalizada em relação à distância do BMU, na variável
criada na etapa 2a, adicionando a distância a classe correspondente ao rótulo do padrão de
entrada. Repetimos as etapas (3) a (5) para todas as imagens de subconjunto de rotulagem.
6. Normalizamos as distâncias de cada neurônio para cada tipo de classe pela quantidade de cada
rótulo testada.
7. Escolhemos o rótulo de cada neurônio dependendo da classe do acumulador que melhor
respondeu.
Fonte: Autoria Própria (2022).
51

Na etapa 6 do algoritmo de rotulagem as distâncias de cada neurônio para cada


categoria de dígito são normalizadas em relação a quantidade de rótulos. Porém,
mesmo com essa normalização é interessante manter uma quantidade balanceada
de rótulos de cada categoria para evitar o bias na construção do algoritmo. Sendo
assim, é observado na Tabela 3 que a quantidade de rótulos utilizado está
relativamente balanceada.

Tabela 3 – Quantidade de rótulos para cada categoria de dígito


QUANTIDADE DE
DÍGITO
RÓTULOS

0 58

1 79

2 64

3 59

4 59

5 51

6 54

7 62

8 49

9 65

Total 600
Fonte: Autoria Própria (2022).

3.4 ALGORITMO PARA TESTE DO SOM TREINADO

Após rotulado os neurônios da rede SOM é possível calcular a acurácia da rede


utilizando os dados reservados para teste. Ou seja, dados nunca vistos pela rede. A
lógica utilizada no teste da acurácia se encontra na Tabela 4.
52

Tabela 4 – Algoritmo de teste do SOM treinado e rotulado


TESTE

1. Informe ao algoritmo de rotulagem os seguintes parâmetros de entrada:


a. Pesos resultados do SOM treinado.
b. Vetores de entrada.
c. Rótulos referentes aos neurônios do SOM de entrada.
2. Calcula-se as distâncias dos neurônios com dados de entrada.
3. É escolhido o neurônio vencedor, o BMU.
4. É verificado qual o rótulo é referente ao BMU escolhido.
5. O rótulo é salvo no vetor de predição.
6. Os passos (2) à (5) são feitos para todos os vetores de entrada
Fonte: Autoria Própria (2022).

3.5 HIPERPARÂMETROS

Alguns hiperparâmetros precisam ser definidos, sendo eles: a taxa de aprendizagem


inicial e final, o raio de vizinhança inicial e final e a quantidade de épocas que a rede
será treinada.

Como o MNIST possui um banco de dados extenso reservado para o treinamento,


não são necessárias várias épocas para que se obtenha um resultado razoavelmente
bom. Sendo assim, todos os testes a seguir foram executados utilizando 10 iterações.

Figura 28 – Atualização dos hiperparâmetros com a época

Fonte: Autoria Própria (2022).


53

De acordo com a literatura, 𝛼0 > 𝛼 𝑇 , e 𝜎0 > 𝜎𝑇 , portanto decidiu-se configurar a taxa


de aprendizagem como: 𝛼0 = 1,0e 𝛼 𝑇 = 0,01. Para o raio de vizinhança foram
atribuídos os valores 𝜎0 = 1,0e 𝜎𝑇 = 0,01. Com esses valores iniciais e finais e
utilizando as Equações (5) e (6), foram traçadas as curvas dessas variáveis no
decorrer do tempo, como mostrado na Figura 28.

Com os hiperparâmetros definidos serão realizados testes variando a dimensão do


mapa de Kohonen. O código desenvolvido se encontra no GitHub, disponível pelo link:
https://github.com/isabelledias/som_mnist.
54

4 RESULTADOS

Para observar a evolução do SOM durante seu treinamento foi definida uma variável
para armazenar os valores dos pesos em diferentes etapas do seu treinamento. Após
alguns testes optou-se em salvar 10 vezes os mapas de pesos do SOM a cada época.
Além disso, foram testados alguns tamanhos diferentes de mapas de Kohonen, sendo
eles:

• 10 × 10

• 32 × 32

• 16 × 16

• 8×8

• 4×4

Por curiosidade também foi verificado como o mapa se comporta quando ele é
treinado com uma quantidade de neurônios igual à quantidade de classes existentes.
Sendo assim também será verificada mapas de tamanhos:

• 1 × 10

• 5×2

Para cada tamanho foram observados e armazenado os pesos durante o treinamento


da rede, e após a rotulagem e teste é calculada a acurácia obtida, além da matriz de
confusão.

Devido ao pré-processamento realizado no início do código, o SOM resultante contém


𝑚 ∗ 𝑛 neurônios, onde cada neurônio é um vetor de 784 × 1. Sendo assim, para
visualização do SOM resultante foi desenvolvida uma função que redimensiona cada
neurônio para 28 × 28 ao produzir a imagem do SOM.
55

4.1 SOM DE TAMANHO 10 × 10

Na Figura 29 é possível observar a evolução dos pesos do mapa de Kohonen a cada


iteração. De início tem-se uma inicialização aleatória, e após isso é possível observar
a rede sendo treinada aos poucos.

Pode-se observar também o impacto do tamanho da vizinhança. Como o raio da


função de vizinhança nas primeiras iterações são maiores que as do final, todos os
neurônios da rede acabam sendo influenciados, porém, aos poucos a função de
vizinhança diminui e a região afetada pelo padrão de entrada também diminui.

Figura 29 - Evolução dos pesos do SOM 10 × 10


Inicialização Iteração 1 Iteração 10

Fonte: Autoria Própria (2022).

A Figura 30a contém o SOM resultante de tamanho 10 × 10 e a Figura 30b contém a


rotulagem encontrada pelo algoritmo de rotulagem.
56

Figura 30 – (a) SOM 10 × 10 resultante e (b) Resultado rotulado


2 7 7 7 7 9 2 1 1 1
7 7 9 9 4 5 6 1 1 8
7 7 4 5 8 8 6 1 3 5
4 9 9 9 5 8 8 1 1 5
9 4 4 4 5 8 8 8 3 5
4 4 4 9 5 5 3 3 3 3
6 6 9 4 3 8 3 3 3 5
6 6 6 2 2 2 5 0 0 0
6 6 2 2 2 2 5 0 0 0
6 6 0 2 2 2 0 0 0 0
(a) (b)
Fonte: Autoria Própria (2022).

Figura 31 - Matriz de Confusão SOM 10 × 10

Fonte: Autoria Própria (2022).


57

Observando a Figura 30 é possível ver que a grande parte dos neurônios foram bem
treinados, porém, em alguns casos pode ser observado algumas divergências. Por
exemplo, o neurônio da posição (9,3) não se assemelha a nenhum dígito, no entanto,
o processo de rotulagem associou o dígito 2 a ele. Outro exemplo é o neurônio da
posição (9,7), onde visualmente ele se parece como o dígito 3, porém, o processo de
rotulagem o associou ao dígito 5.

Pode ser observado pela matriz de confusão da Figura 31 que os dígitos que foram
classificados errados quase sempre foram classificados como o digito em algum BMU
vizinho.

Por exemplo, na Figura 31 olhando para a classe do dígito 4, é possível observar que
77% dos dígitos de rótulo 4 da base de dados de teste foram classificados
corretamente, porém, 18% desses dígitos foram erroneamente rotulados como 9.
Observando então a Figura 30, pode ser observado que a vizinhança dos BMUs
rotulados como 4 são BMUs rotulados como 9, além disso, a vizinhança entre esses
dois números não está muito clara.

4.2 SOM DE TAMANHO 32 × 32

Visualizando o comportamento de um mapa de Kohonen bem maior que o anterior foi


possível visualizar, na Figura 32, o SOM resultante e, na Figura 33, os rótulos
associados a cada BMU.

Pode-se notar que devido a quantidade maior de neurônios nessa rede a divisão dos
clusters são mais perceptíveis e localizadas. Ao mesmo tempo é possível perceber
que em zonas de “fronteiras” desses clusters a existência de neurônios sem um
formato dígito distinto.
58

Figura 32 - SOM 32 × 32

Fonte: Autoria Própria (2022).


59

Figura 33 - Rótulos do SOM 32 × 32

Fonte: Autoria Própria (2022).

Pela matriz de confusão apresentada na Figura 25 pode ser observado que a rede
obteve uma melhor performance para identificar os dígitos manuscritos,
principalmente no que se diz respeito aos dígitos 4 e 9. A acurácia calculada a partir
dos dados reservados para teste foi de 88,44%.
60

Figura 34 – Matriz de confusão do SOM 32 × 32

Fonte: Autoria Própria (2022)

4.3 SOM DE TAMANHO 16 × 16

Visualizando o comportamento de um mapa de Kohonen de tamanho 16x16 foi


possível visualizar, na Figura 35, o SOM resultante e, na Figura 36, os rótulos
associados a cada BMU.

Pode-se notar que grande parte dos clusters também foram bem definidos e
separados mesmo tendo metade do tamanho do SOM anterior. Pode-se notar também
que a transição de um cluster para o outro foi feita de um modo bem suave.
61

Figura 35 - SOM 16 × 16

Fonte: Autoria Própria (2022).


62

Figura 36 - Rótulos do SOM 16 × 16

Fonte: Autoria Própria (2022).

A acurácia calculada a partir dos dados reservados para teste foi de 90,03%. A Figura
37 mostra a matriz de confusão, onde o dígito 4 continua sendo confundido com o
dígito 9. Porém, aqui tem-se uma melhoria na identificação do dígito 4.
63

Figura 37 - Matriz de confusão do SOM 16 × 16

Fonte: Autoria Própria (2022).

4.4 SOM DE TAMANHO 8 × 8

Na Figura 38 é possível observar a evolução dos pesos do mapa de Kohonen a cada


iteração. De início temos uma inicialização aleatória, e após isso podemos observar a
rede sendo treinada aos poucos.
64

Figura 38 - Evolução dos pesos do SOM 8 × 8


Inicialização Iteração 1 Iteração 10

Fonte: Autoria Própria (2022).

A Figura 39a contém o SOM resultante de tamanho 8 × 8 e a Figura 39b contém a


rotulagem encontrada pelo algoritmo de rotulagem.

Figura 39 – SOM 8x8 resultante e rotulagem

(a) (b)
Fonte: Autoria Própria (2022).

A acurácia calculada a partir dos dados reservados para teste foi de 81,98%. A Figura
40 apresenta a matriz de confusão e aqui pode-se observar novamente o dígito 4
sendo confundido pelo dígito 9. Nota-se que apenas 55% dos dígitos de rótulo 4 da
base de dados de teste foram classificados corretamente, e 41% desses dígitos foram
65

erroneamente rotulados como 9. Observando então a Figura 39b, é possível observar


que os rótulos dos dígitos 4 não formaram um cluster definido, apresentando rótulos
espalhados pelo mapa. Além disso, na Figura 39a pode-se observar que os neurônios
rotulados como 4 não estão visualmente bem definidos.

Figura 40 - Matriz de confusão do SOM 8x8

Fonte: Autoria Própria (2022).

4.5 SOM DE TAMANHO 4 × 4

Figura 41 - Evolução dos pesos do SOM 4 × 4


Inicialização Iteração 1 Iteração 10

Fonte: Autoria Própria (2022).


66

Na Figura 41 é possível observar a evolução dos pesos do mapa de Kohonen a cada


iteração. Novamente, de início temos uma inicialização aleatória, e após isso nota-se
a rede sendo treinada aos poucos.

A Figura 42a contém o SOM resultante de tamanho 4 × 4 e a Figura 42b contém a


rotulagem encontrada pelo algoritmo de rotulagem.

Figura 42 – SOM 4 × 4 resultante e rotulagem

(a) (b)
Fonte: Autoria Própria (2022).

Figura 43 - Matriz de confusão do SOM 4 × 4

Fonte: Autoria Própria (2022).


67

A acurácia calculada a partir dos dados reservados para teste foi de 67,66%.
Considerando que não existe um rótulo referente ao dígito 9, o SOM 4 × 4 performou
relativamente bem.

A Figura 43 mostra a matriz de confusão e aqui é possível observar que, como não
existe o rótulo 9 do mapa SOM o dígito 4 não pode ser confundido pelo dígito 9. Porém,
observando a Figura 42a é possível ver que o neurônio associado ao rótulo 4, na
posição (3,1) é visualmente parecido com o dígito 9 manuscrito.

4.6 SOM DE TAMANHO 5 × 2

Na Figura 44 é possível observar a evolução dos pesos do mapa de Kohonen a cada


iteração. De início tem-se uma inicialização aleatória, e após isso é possível observar
a rede sendo treinada aos poucos.

Figura 44 - Evolução dos pesos do SOM 5 × 2


Inicialização Iteração 1 Iteração 10

Fonte: Autoria Própria (2022).

Figura 45 – SOM 5 × 2 resultante e rotulagem

(a) (b)
Fonte: Autoria Própria (2022).
68

Figura 46 - Matriz de confusão do SOM 4 × 4

Fonte: Autoria Própria (2022).

A Figura 45a contém o SOM resultante de tamanho 5 × 2 e a Figura 45b contém a


rotulagem encontrada pelo algoritmo de rotulagem.

A acurácia calculada a partir dos dados reservados para teste foi de 57,17%. A Figura
46 mostra a matriz de confusão, onde observa-se que com apenas 10 neurônios não
foi possível obter um bom resultado.

4.7 SOM DE TAMANHO 1 × 10

Na Figura 38 é possível observar a evolução dos pesos do mapa de Kohonen a cada


iteração. Mais uma vez, tem-se uma inicialização aleatória, e após isso verifica-se a
rede sendo treinada aos poucos.

A Figura 48a contém o SOM resultante de tamanho 10 × 1 e a Figura 48b contém a


rotulagem encontrada pelo algoritmo de rotulagem.
69

Figura 47 - Evolução dos pesos do SOM 1 × 10


Iteração Iteração Iteração
0 1 10

Fonte: Autoria Própria (2022).

Figura 48 – SOM 10 × 1 resultante e rotulagem

(a) (b)
Fonte: Autoria Própria (2022).
70

A acurácia calculada a partir dos dados reservados para teste foi de 57,17%. A Figura
49 mostra a matriz de confusão para essa estrutura.

Figura 49 - Matriz de confusão do SOM 10 × 1

Fonte: Autoria Própria (2022).

4.8 SOM DE TAMANHO 5 × 20

Foi observado que as métricas do SOM com a mesma quantidade de neurônios foram
parecidas mesmo com tamanhos de mapas diferentes. Sendo assim, foi feito mais um
teste com 100 neurônios. Na Figura 38 foi possível observar o mapa de Kohonen
organizado em no tamanho 5 × 20, ou seja, com 100 neurônios.

Figura 50 – SOM 5 × 20

Fonte: Autoria Própria (2022).


71

A Figura 51 contém a rotulagem encontrada pelo algoritmo.

Figura 51 – Rótulos do SOM 5 × 20

Fonte: Autoria Própria (2022).

A acurácia calculada a partir dos dados reservados para teste foi de 87,12%. A Figura
52 mostra a matriz de confusão.

Figura 52 - Matriz de confusão do SOM 20 × 5

Fonte: Autoria Própria (2022).

4.9 COMPARANDO RESULTADOS


72

Por fim, a Tabela 5 reúne as acurácias para as diferentes estruturas propostas de


SOM propostas neste trabalho, obtidas das respectivas matrizes de confusão de cada
estrutura distinta.

Tabela 5 – Acurácia das diferentes estruturas SOM


TAMANHO DO SOM ACURÁCIA

10x10 0,8717

32x32 0,8844

16x16 0,9003

8x8 0,8198

4x4 0,6766

5x2 0,5717

1x10 0,5717

20x5 0,8712
Fonte: Autoria Própria (2022).

A partir da Tabela 5 foi observado que os resultados do SOM com a mesma


quantidade de neurônios foram parecidos. E o melhor resultado obtido para o padrão
de entrada foi a rede SOM de dimensão 16 × 16 com uma acurácia de 90,03%.

O uso de redes neurais convolucionais, (do inglês, Convolutional Neural Network -


CNN), é muito popular para solução de problemas de imagens, onde busca-se
desenvolver uma técnica de reconhecimento de padrões. Na literatura é possível
resultados com acurácias de até 99,98% para o banco de dados MNIST, utilizando a
rede CNN e aprendizado supervisionado, ou seja, com a presença de rótulos (YAHYA;
TAN; HU, 2021). Focando em técnicas de aprendizado não supervisionado a precisão
é menor, porém ainda possui uma acurácia alta.

Neste sentido, Spiking Neural Networks (SNN) pode ser usado para realizar cálculos
complexos ou resolver tarefas de reconhecimento de padrões. Diehl e Cook
apresentaram em um artigo uma rede SNN para reconhecimento de dígitos treinando
73

a rede sem utilização de rótulos e a arquitetura proposta atingiu uma precisão de 95%
para os dados de teste dos dígitos MNIST (DIEHL; COOK, 2015).

Ainda neste contexto, é interessante destacar na literatura um estudo desenvolvido


por Khacef, Rodriguez e Miramond utilizando a rede SOM para classificação de dígitos
manuscritos e a combinação dessa rede com outras redes de reconhecimento de
características. Neste estudo foi mencionado que uma rede SOM com 256 neurônios
atingiu uma precisão de 90,81% enquanto uma rede combinando SOM+CNN a
precisão foi de 97,94% (KHACEF; RODRIGUEZ; MIRAMOND, 2020).

Um outro estudo utilizando k-means para reconhecimento de dígitos conseguiu uma


acurácia de 83,33% para o banco de dados MNIST (PEI; YE, 2022).
74

5 CONCLUSÃO

Considerando o objetivo do trabalho de ver o impacto das dimensões do mapa de


Kohonen foi possível avaliar que a melhor estrutura, pada os dados MNIST, foi com
uma rede 16 × 16. Porém, é importante ressaltar que as dimensões do SOM não
influenciam tanto quanto a quantidade de neurônios, ou seja, uma rede SOM com 100
neurônios, seja ela 10 × 10 ou 20 × 5, possuem resultados parecidos.

É relevante mencionar que a rede 16 × 16, logo a de 256 neurônios, atingiu uma
acurácia parecida com a encontrada na literatura. Foi obtido 90,03% de acurácia,
enquanto no estudo desenvolvido por Khacef, Rodriguez e Miramond em 2020 foi
atingida uma precisão de 90,81% para uma rede com a mesma quantidade de
neurônios.

Uma desvantagem do SOM é que os clusters, em alguns casos, não são muito bem
definidos, onde é possível observar que a mesma classe de dígito foi separada em
dois clusters separados.

Finalmente, o aprendizado não supervisionado se mostrou eficaz, demonstrando que


de fato é possível treinar uma rede de dados não rotulados. Com apenas 1% dos
rótulos dos dados de treinamento foi possível rotular os neurônios da rede de Kohonen
treinada.

Como sugestões de trabalhos futuros é interessante incluir o estudo do impacto de


outros parâmetros do SOM como a taxa de aprendizado, raio de vizinhança ou
topologia da rede. Além disso, é interessante estudar a combinação de duas redes
diferentes, aplicação do algoritmo de SOM para outros tipos de problemas, ou até
mesmo um estudo avaliando a eficiência do algoritmo de rotulagem utilizando
quantidades diferentes de rótulos.
75

REFERÊNCIAS

BARR, A.; FEIGENBAUM, E. A. The handbook of artificial intelligence: volume 1.


[s. l.]: Elsevier Science, 2014.

BEAR, M. F.; CONNORS, B. W.; PARADISO, M. A. Neuroscience: exploring the


brain. 2nd ed. ed. Baltimore, Md.: Lippincott Williams & Wilkins, 2001.

CARNAHAN, J. et al. New avenue to the parton distribution functions: self-organizing


maps. Physical Review D, v. 79, 15 nov. 2008.

CHEN, L.-P. et al. An improved SOM algorithm and its application to color feature
extraction. Neural Computing and Applications, v. 24, n. 7–8, p. 1759–1770, 27
jun. 2014.

CROSS, S. S.; HARRISON, R. F.; KENNEDY, R. L. Introduction to neural


networks. [S.l. : s.n.], 1995. v. 346

DIEHL, P. U.; COOK, M. Unsupervised learning of digit recognition using spike-


timing-dependent plasticity. Frontiers in Computational Neuroscience, v. 9, 3 ago.
2015.

DRIDI, S. Unsupervised learning - A systematic literature review. [S.l.: s.n.],


2021.

FRITZKE, B. Growing cell structures - A self-organizing network for unsupervised


and supervised learning. Neural Networks, v. 7, p. 1441–1460, 1994.

GRAJCIAROVA, L. et al. Biomedical image analysis using self-organizing maps.


[s.l.: s.n.], 2012.

HAYKIN, S. Neural Networks: A Comprehensive Foundation. 2nd. ed. USA:


Prentice Hall PTR, 1998.

IBRAHIM, Z. M. et al. On classifying sepsis heterogeneity in the ICU: insight using


machine learning. Journal of the American Medical Informatics Association, v.
27, n. 3, p. 437–443, 1 mar. 2020.

JAIN, A. K.; MAO, J.; MOHIUDDIN, K. M. Artificial neural networks: a tutorial.


Computer, v. 29, n. 3, p. 31–44, 1996a.

JAIN, A. K.; MAO, J.; MOHIUDDIN, K. M. Artificial neural networks: a tutorial.


Computer, v. 29, n. 3, p. 31–44, 1996b.

KHACEF, L. et al. Self-organizing neurons : toward brain-inspired unsupervised


learning. In: INTERNATIONAL JOINT CONFERENCE ON NEURAL NETWORKS
(IJCNN). 2019. Anais... [s.l.: s.n.], 2019.
76

KHACEF, L.; RODRIGUEZ, L.; MIRAMOND, B. Improving Self-Organizing Maps with


Unsupervised Feature Extraction. Lecture Notes in Computer Science (including
subseries Lecture Notes in Artificial Intelligence and Lecture Notes in
Bioinformatics), v. 12533 LNCS, p. 474–486, 2020.

KOHONEN, T. MATLAB Implementations and Applications of the Self-


Organizing Map (DA DOC X...). [S.l.: s.n.], 2014.

KOHONEN, T. Self-Organizing Maps. Berlin, Heidelberg: Springer Berlin


Heidelberg, 1997. v. 30

KOHONEN, T. Self-Organizing Maps. Berlin, Heidelberg: Springer Berlin


Heidelberg, 2001. v. 30

KOHONEN, T. The self-organizing map. Proceedings of the IEEE, v. 78, n. 9, p.


1464–1480, 1990.

LANGLEY, P.; CARBONELL, J. G. Approaches to machine learning. Journal of the


American Society for Information Science, v. 35, n. 5, p. 306–316, set. 1984.

LECUN, Y.; CORTES, C. {MNIST} handwritten digit database. 2010.

MARKIEWICZ, T.; ZHENG, J. Getting Started with Artificial Intelligence. [S.l.:


s.n.].

MCCARTHY, J. What is artificial intelligence? [S.l.]: Stanford University Stanford,


2004.

MILJKOVIĆ, D. Brief Review of Self-Organizing Maps. p. 1252–1257, 2017.

MONTESINOS LÓPEZ, O. A.; MONTESINOS LÓPEZ, A.; CROSSA, J. Multivariate


Statistical Machine Learning Methods for Genomic Prediction. [s.l: s.n.].

MOREIRA, C. Neurónio. Revista de Ciência Elementar, v. 1, p. 1–3, 2013.

PEI, Y.; YE, L. Cluster analysis of MNIST data set. Journal of Physics: Conference
Series, v. 2181, n. 1, p. 012035, 1 jan. 2022.

PONMALAI, R.; KAMATH, C. Self-organizing maps and their applications to data


analysis. Lawerence Livermore National Laboratory, p. 46, 2019.

SAYERS, C. Self organizing feature maps and their applications to robotics.


Technical Reports (CIS), n. may, p. 405, 1991.

SMITH, L. N. Cyclical learning rates for training neural networks. 3 jun. 2015.

TANG, B.; ROBEY, A. Autonomous robotic navigation using self-organized


maps. p. 1–10, 2017.

TENSORFLOW. MNIST | TensorFlow. Disponível em:


https://www.tensorflow.org/datasets/catalog/mnist.

TENSORFLOW. TensorFlow. Disponível em: https://www.tensorflow.org/.


77

VLASSIS, N.; PAPAKONSTANTINOU, G.; TSANAKAS, P. Robot map building by


kohonen’s self-organizing neural networks. 27 nov. 1998.

YACIM, J. A.; BOSHOFF, D. G. B. Impact of artificial neural networks training


algorithms on accurate prediction of property values. Journal of Real Estate
Research, v. 40, n. 3, p. 375–418, 2018.

YAHYA, A. A.; TAN, J.; HU, M. A Novel Handwritten Digit Classification System
Based on Convolutional Neural Network Approach. Sensors, v. 21, n. 18, p. 6273,
18 set. 2021.

YANG, Z. R.; YANG, Z. Artificial Neural Networks. Comprehensive Biomedical


Physics, v. 6, p. 1–17, 2014.

YIN, H. The Self-Organizing Maps: Background, Theories, Extensions and


Applications. In: Studies in Computational Intelligence. [S.l.: s.n.]. v. 115, p. 715–
762.

Você também pode gostar