Banco de dados MNIST
# Banco de dados MNIST

O banco de dados MNIST (Instituto Nacional de Padrões e Tecnologia Modificado) é um grande banco de dados de dígitos manuscritos, comumente usado para treinar vários sistemas de processamento de imagens. O banco de dados também é amplamente utilizado para treinamento e teste no campo do aprendizado de máquina. Ele foi criado por meio da "remixagem" das amostras dos conjuntos de dados originais do NIST. Os criadores acharam que, como o conjunto de dados de treinamento do NIST foi retirado de funcionários do Departamento Estadunidense de Senso, enquanto o conjunto de dados de teste foi retirado de estudantes estadunidenses do ensino médio, ele não era adequado para experimentos de aprendizado de máquina. Além disso, as imagens em preto e branco do NIST foram normalizadas para caber em uma caixa delimitadora de 28x28 píxeis e antisserrilhadas, o que introduziu níveis de escala de cinza.
O banco de dados MNIST contém 60.000 imagens de treinamento e 10.000 imagens de teste. Metade do conjunto de treinamento e metade do conjunto de teste foram retirados do conjunto de dados de treinamento do NIST, enquanto a outra metade do conjunto de treinamento e a outra metade do conjunto de teste foram retirados do conjunto de dados de teste do NIST. Os criadores originais do banco de dados mantêm uma lista de alguns dos métodos testados nele. Em seu artigo original, eles usam uma máquina de vetor de suporte para obter uma taxa de erro de 0,8%.
O MNIST estendido (EMNIST) é um conjunto de dados mais recente desenvolvido e lançado pelo NIST para ser o sucessor (final) do MNIST. O MNIST incluía imagens apenas de dígitos manuscritos. O EMNIST inclui todas as imagens do NIST Special Database 19, que é um grande banco de dados de letras maiúsculas e minúsculas manuscritas, bem como dígitos. As imagens no EMNIST foram convertidas no mesmo formato de 28x28 píxeis, pelo mesmo processo, que as imagens do MNIST. Dessa forma, as ferramentas que funcionam com o conjunto de dados MNIST mais antigo e menor funcionarão provavelmente sem modificações com o EMNIST.

## História

O conjunto de imagens no banco de dados MNIST foi criado em 1994 como uma combinação de dois bancos de dados do NIST: Banco de dados especial 1 e banco de dados especial 3, que consistem em dígitos escritos por estudantes do ensino médio e funcionários do Departamento do Censo dos Estados Unidos, respectivamente.
O conjunto de dados original era um conjunto de imagens binárias de 128x128, processadas em imagens em escala de cinza de 28x28. Originalmente, havia 60 mil amostras no conjunto de treinamento e no conjunto de teste, mas 50 mil do conjunto de teste foram descartadas. Consulte Cold Case: The Lost MNIST Digits para um histórico detalhado e uma reconstrução do conjunto de teste descartado.

## Desempenho

Alguns pesquisadores alcançaram um "desempenho quase humano" no banco de dados MNIST, usando um comitê de redes neurais. No mesmo artigo, os autores alcançaram o dobro do desempenho de humanos em outras tarefas de reconhecimento. A taxa de erro mais alta listada no site original do banco de dados é de 12%, obtida usando um classificador linear simples sem pré-processamento.
Em 2004, pesquisadores obtiveram uma taxa de erro de 0,42% no banco de dados usando um novo classificador chamado LIRA, um classificador neural com três camadas de neurônios, baseado nos princípios do perceptron de Rosenblatt.
Alguns pesquisadores testaram sistemas de inteligência artificial usando o banco de dados submetido a distorções aleatórias. Nesses casos, os sistemas geralmente são redes neurais e as distorções usadas tendem a ser distorções afins ou distorções elásticas. Às vezes, esses sistemas podem ser muito bem-sucedidos. Um desses sistemas atingiu uma taxa de erro no banco de dados de 0,39%.
Em 2011, uma taxa de erro de 0,27%, superando o melhor resultado anterior, foi relatada por pesquisadores que usaram um sistema semelhante de redes neurais. Em 2013, uma abordagem baseada na regularização de redes neurais usando DropConnect atingiu uma taxa de erro de 0,21%. Em 2016, o melhor desempenho de uma única rede neural convolucional foi de 0,25% de taxa de erro. Em agosto de 2018, o melhor desempenho de uma única rede neural convolucional treinada nos dados de treinamento do MNIST sem aumento de dados era de 0,25% de taxa de erro. Além disso, o Parallel Computing Center (Khmelnytskyi, Ucrânia) obteve um conjunto de apenas 5 redes neurais convolucionais com desempenho no MNIST de 0,21% de taxa de erro. Algumas imagens no conjunto de dados de teste são pouco legíveis e podem impedir que se atinjam taxas de erro de teste de 0%. Em 2018, pesquisadores do Departamento de Engenharia de Sistemas e Informação da Universidade da Virgínia anunciaram um erro de 0,18% com três tipos de redes neurais empilhadas simultaneamente (redes neurais totalmente conectadas, recorrentes e de convolução).

## Classificadores

Esta é uma tabela de alguns dos métodos de aprendizado de máquina usados no conjunto de dados e suas taxas de erro, por tipo de classificador:
| Tipo | Classificador | Distorção | Pré-processamento | Taxa de erro (%) |
| Classificador linear | Classificador linear par a par | Nenhuma | Deskewing | 7,6 |
| K-Vizinhos Mais Próximos | K-NN com transformações rígidas | Nenhuma | Nenhum | 0,96 |
| K-Vizinhos Mais Próximos | K-NN com deformação não linear (P2DHMDM) | Nenhuma | Bordas deslocáveis | 0,52 |
| Boosted Stumps | Produto de stumps em características Haar | Nenhuma | Características Haar | 0,87 |
| Classificador não linear | 40 PCA + classificador quadrático | Nenhuma | Nenhum | 3,3 |
| Random Forest | Fast Unified Random Forests for Survival, Regression, and Classification (RF-SRC) | Nenhuma | Importância estatística simples do pixel | 2,8 |
| Máquina de vetores de suporte (SVM) | SVM virtual, deg-9 poly, 2 pixels com jitters | Nenhuma | Deskewing | 0,56 |
| Rede Neural | 2 camadas 784-800-10 | Nenhuma | Nenhum | 1,6 |
| Rede Neural | 2 camadas 784-800-10 | Deformações elásticas | Nenhum | 0,7 |
| Rede Neural profunda (DNN) | 6 camadas 784-2500-2000-1500-1000-500-10 | Deformações elásticas | Nenhum | 0,35 |
| Rede neural convolucional (CNN) | 6 camadas 784-40-80-500-1000-2000-10 | Nenhuma | Expansão dos dados de treinamento | 0,31 |
| Rede neural convolucional (CNN) | 6 camadas 784-50-100-500-1000-10-10 | Nenhuma | Expansão dos dados de treinamento | 0,27 |
| Rede neural convolucional (CNN) | 13 camadas 64-128(5x)-256(3x)-512-2048-256-256-10 | Nenhuma | Nenhum | 0,25 |
| Rede neural convolucional (CNN) | Comitê de 35 CNNs, 1-20-P-40-P-150-10 | Deformações elásticas | Normalizações de largura | 0,23 |
| Rede neural convolucional (CNN) | Comitê de 5 CNNs, 6-layer 784-50-100-500-1000-10-10 | Nenhuma | Expansão dos dados de treinamento | 0,21 |
| Aprendizagem profunda multimodal aleatória (RMDL) | 10 NN-10 RNN - 10 CNN | Nenhuma | Nenhum | 0,18 |
| Rede neural convolucional (CNN) | Comitê de 20 CNNS com Squeeze-and-Excitation Networks | Nenhuma | Aumento de dados | 0,17 |
| Rede neural convolucional (CNN) | Conjunto de 3 CNNs com tamanhos de kernel variados | Nenhuma | Aumento de dados que consiste em rotação e translação | 0,09 |