Escolar Documentos
Profissional Documentos
Cultura Documentos
CAMPUS BALSAS
BACHARELADO INTERDISCIPLINAR EM CIÊNCIA E TECNOLOGIA
Balsas - MA
2016
1
Balsas – MA
2016
2
Banca Examinadora
Balsas – MA
2016
3
AGRADECIMENTOS
RESUMO
Devido à grande necessidade de transformar dados de imagens digitais em dados
estruturados, este artigo apresenta uma forma de reconhecimento de dígitos numéricos em
imagens, utilizando técnicas de redes neurais artificiais, com a finalidade de melhorar e tornar
mais preciso o processo de aprendizagem de dados pela máquina. O objetivo, além de
identificar os dígitos numéricos, consiste em identificar os métodos de detecção e
processamento de imagens na atualidade. Os resultados obtidos no treinamento na base de
dados foram de 100% para o conjunto de treinamento e 99,25% para o conjunto de teste.
Palavras-chave: Aprendizado de Máquina; Rede Neural Convolucional;
Processamento de Imagens; Reconhecimento de Dígitos.
5
ABSTRACT
Due to the great need to transform digital image data into structured data, this article
presents a form of recognition of numeric digits in images, using techniques of artificial neural
networks, in order to improve and make more precise the data learning process by machine.
The goal, in addition to identify the numeric digits, is to identify the methods of detection and
image processing today. The results obtained in training the database were 100% for the training
set and 99.25% for the test set.
Keywords: Machine Learning; Convolutional Neural Network; Image processing;
Recognition Digits.
6
LISTA DE FIGURAS
Figura 1 ................................................................................................................................... 11
Figura 2 ................................................................................................................................... 12
Figura 3 ................................................................................................................................... 14
Figura 4 ................................................................................................................................... 14
Figura 5 ................................................................................................................................... 22
Figura 6 ................................................................................................................................... 22
Figura 7 ................................................................................................................................... 23
Figura 8 ................................................................................................................................... 23
7
LISTA DE TABELAS
Tabela 1 ................................................................................................................................... 17
Tabela 2 ................................................................................................................................... 23
Tabela 3 ................................................................................................................................... 24
Tabela 4 ................................................................................................................................... 24
Tabela 5 ................................................................................................................................... 11
Tabela 6 ................................................................................................................................... 12
8
LISTA DE QUADROS
Quadro 1 .................................................................................................................................. 19
9
LISTA DE GRÁFICOS
Gráfico 1 .................................................................................................................................. 28
10
SUMÁRIO
INTRODUÇÃO ...................................................................................................................... 11
2.1 Knn - Kth Nearest Neighbor (K- ésimo vizinho mais próximo) ................................ 13
6 FERRAMENTA .............................................................................................................. 23
7 PRÉ-PROCESSAMENTO ............................................................................................. 23
CONCLUSÕES....................................................................................................................... 29
REFERÊNCIAS ..................................................................................................................... 30
11
INTRODUÇÃO
MNIST Database
2 CLASSIFICADORES DE DADOS
2.1 Knn - Kth Nearest Neighbor (K- ésimo vizinho mais próximo)
Figura 2: Exemplo de classificação KNN, composta por duas classes, quadrados verdes,
triângulos azuis e o hexágono é algo a ser classificado.
Segundo LeCun (1998), “redes convolucionais combina três ideias arquitetônicas para
garantir algum grau de mudança, na escala e invariância distorção: campos receptivos locais,
pesos compartilhados e subamostragem espacial ou temporal”. Os neurônios podem extrair
características visuais elementares, tais como bordas orientadas, pontos finais, cantos ou outras
características semelhantes, às distorções ou turnos da entrada pode fazer variar a posição das
características mais salientes. Uma das redes convolucionais que revolucionou o
reconhecimento de caracteres é a LeNet-5.
ruídos presentes na mesma, através de uma correção numérica dos valores dos pixels que estão
muito distantes da média, como descreve a imagem abaixo:
Figura 3: Produto interno entre matriz, a entrada em azul é multiplicado pelos os filtros em vermelho,
e a soma é compensada com o Bias.
CS231n Convolutional Neural Networks for Visual Recognition, acesso em 8 de setembro de 2016.
CS231n Convolutional Neural Networks for Visual Recognition, acesso em 8 de setembro de 2016.
17
Para a base de dados com volume de entrada [32x32x3] e filtro de tamanho [3x3], a
camada da rede convolucional terá pesos para cada região igual a [3x3x3], um total de 27
ligações para o volume de entrada.
Em redes convolucionais, três hiperparâmetros controlam o volume de saída:
profundidade, passo e preenchimento com zero. A profundidade corresponde aos números de
filtros, o passo é o processamento dos filtros, por exemplo, se o passo for 1, o processamento
do filtro é um pixel de cada vez, e o preenchimento com zero permite ter um controle espacial
no volume de saída. Para obter a quantidade de neurônios utiliza-se a seguinte relação:
(𝑊−𝐹+2𝑃)
(17)
𝑆+1
𝜆 2
(𝑄𝜆 (𝑤) = 𝐸𝑥,𝑦 𝜙(𝑤 𝑇 𝑋, 𝑌 + ||𝑤|| 2) (2)
2
Onde 𝐸𝑥,𝑦 denota a expectativa com respeito ao verdadeiro. A função de perda 𝜙(𝑄, 𝑤)é
2
uma função convexa. No qual ||𝑤|| 2 = 𝑤 𝑇 𝑤 e 𝜆 é um parâmetro de regularização positivo, se
𝑇
𝑤𝑡 = 𝑤𝑡 −1 − 𝜂𝑡𝑆 −1 (𝜆𝑤𝑡−1 + 𝜙1 (𝑤𝑡−1 𝑥𝑡 , 𝑦𝑡 )𝑥𝑡 ) (3)
19
4 ALGORITMO BACK-PROPAGATION
Segundo Rojas (1990), “a derivada da sigmóide sempre será positiva, pelo o fato da
função de erro apontar para uma direção a ser seguida”. A saída da sigmóide segue estritamente
o intervalo entre 0 e 1, que são os extremos. Logo dados os pesos 𝑊1 , 𝑊2 , . . . , 𝑊𝑛 e um Bias -𝜃,
a sigmóide calcula para uma entrada 𝑋1 , 𝑋2 , . . . , 𝑋𝑛 a saída será:
1
𝑛 (5)
1+𝑒 (𝛴𝑖=0 𝑤𝑖 𝑥𝑖 − 𝜃)
Dado um conjunto de pontos de dados de treinamento 𝑑𝑗 e camada de saída 𝑦𝑗 , o cálculo
de erro pode ser dado da seguinte forma:
1
𝐸 = ∑𝑘𝜖𝐾 ( 𝑦𝑗,𝑐 − 𝑑𝑗,𝑐 )2 (6)
2
Camada de saída
𝜕𝐸 𝜕 1
= ∑𝑘𝜖𝐾( 𝑦𝑗 − 𝑑𝑗 )2 (7)
𝜕𝑊𝑗𝑘 𝜕𝑊𝑗𝑘 2
𝜕𝐸
= 𝑦𝑗 𝛿𝑘 (8)
𝜕𝑊𝑗 𝑘
Onde
𝛿𝑘 = 𝑦𝑘 (1 − 𝑦𝑘 )(𝑦𝑘 − 𝑑𝑘 ) (9)
Camadas ocultas
𝜕𝐸
= 𝑦𝑗 𝜕𝑘 (10)
𝜕𝑊𝒋𝒌
Onde
𝛿𝑘 = 𝑦𝑗 (1 − 𝑦𝑗 ) ∑𝑘𝜖𝐾 𝜕𝑘 𝑊𝑗𝑘 (11)
Para cada pesos e bias, temos
𝛥𝑊 = −𝜂𝛿𝑙 𝑦𝑙−1 (12)
𝛥𝜃 = 𝜂𝛿𝑙 (13)
Aplicado
𝑊 + 𝛥𝑊 → 𝑊 (14)
𝜃 + 𝛥𝜃 → 𝜃 (15)
Para ensinar uma rede neural é preciso de um conjunto de dados de treinamento, o
treinamento da rede é um processo interativo, onde a cada interação os pesos dos coeficientes
são atualizados com novos dados do conjunto de treinamento, com este processo é possível
determinar os sinais de saída para cada neurônio das camadas da rede.
21
5 MEDIDAS DE AVALIAÇÃO
Segundo Makhoul (1999), “a precisão tem sido utilizada regularmente para medir o
desempenho de sistemas de recuperação e extração de informação”. A precisão também é
utilizada como revocação (conhecida como cobertura), são medidas muito utilizada para avaliar
quantidade dos resultados em diversas áreas. A precisão é uma medida de muita veracidade,
enquanto revocação é uma medida de totalidade.
𝑇𝑝
𝑃 = 𝑇𝑝+𝐹𝑝 (19)
𝑝𝑟𝑒𝑐𝑖𝑠ã𝑜 𝑥 𝑟𝑒𝑣𝑜𝑐𝑎çã𝑜
𝑚𝑒𝑑𝑖𝑑𝑎 𝐹 = 2 . 𝑝𝑟𝑒𝑐𝑖𝑠ã𝑜 + 𝑟𝑒𝑣𝑜𝑐𝑎çã𝑜 (20)
A análise ROC, é uma ferramenta muito útil e poderosa em domínios nos quais existe
uma grande desproporção entre as classes ou quando se deve levar em consideração diferentes
custos/benefícios para diferentes erros/acertos de classificação (Prati, 2008).
23
6 FERRAMENTA
Torch é uma ferramenta livre, que possui uma estrutura de computação científica com
amplo suporte para algoritmos de aprendizado de máquina, potencializando a GPU (unidade de
processamento gráfico). É fácil de ser usado e eficiente, é uma linguagem com base em LUA
(linguagem de programação), e implementação subjacente em C/CUDA.
ITorch é um núcleo IPython para Torch, com plotagem, visualização de imagens, vídeo
e áudio. ITorch no modo notebook funciona como qualquer outro notebook IPython.
7 PRÉ-PROCESSAMENTO
O primeiro treinamento da base MNIST, foi realizado como o algoritmo KNN, com a
base de dados treinado, preparou-se a base para aprendizagem das classes, temos como
exemplos a captura de um dígito da base de dados.
Para capturar os contornos de cada dígito, foi aplicado o limiar novamente, para fazer
um recorte através das bordas externas de cada classe.
25
O processo de segmentação das classes pode ser poder ser observado na tabela 1, o
recorte das classes individuais. Após o processo de segmentação, segue uma camada de
convolução onde é calculada as saídas dos neurônios a partir da entrada.
7 8 9 ? 0
3 4 2 5 6
26
8 RESULTADOS E DISCUSSÕES
Tabela 3. Matriz de confusão: treinamento da base de dados Mnist para o conjunto de treinamento
Tabela 4. Matriz de confusão: treinamento da base de dados Mnist para o conjunto de teste.
Nas tabelas 3 e 4 abaixo segue os resultados finais do treinamento para os dois conjuntos
após epoch 141.
Tabela 5. Matriz de confusão: treinamento da base de dados Mnist para o conjunto de treinamento.
Tabela 6. Matriz de confusão: treinamento da base de dados Mnist para o conjunto de teste.
CONCLUSÕES
REFERÊNCIAS
C. Y. Suen, C. Nadal, R. Legault, T. A. Mai e L. Lam. Proceedings of the IEEE, Special issue
on Optical Character Recognition, vol. 80, no. 7, pp. 1162-1180, julho 1992.
Monard, Maria Carolina, and José Augusto Baranauskas. "Conceitos sobre aprendizado de
máquina." Sistemas Inteligentes-Fundamentos e Aplicações 1.1 (2003).
Sopyła Krzysztof, Stochastic Gradient Descent with Barzilai–Borwein update step for
SVM, vol. 316, pp. 218–233, setembro 2015.
31
Salama, G. I., Abdelhalim, M., e Zeid, M. A.-e. (2012). Breast cancer diagnosis on three
different datasets using multi-classifiers. Breast Cancer (WDBC),32(569):2. Citado nas
páginas 39.
SORIANO, Raúl Rojas. The Backpropagation Algorithm. In: Neural Networks, Springer-
Verlag, Berlim, 1996. P. 149 - 180.
Sousa, Junior Silva. Identificação de viabilidade de leveduras com corante vital utilizando
histogramas de palavras visuais em imagens coloridas. Universidade Federal do Mato
Grosso do Sul, 2015.
Spackman, Kent A. "Signal detection theory: Valuable tools for evaluating inductive
learning." Proceedings of the sixth international workshop on Machine learning. Morgan
Kaufmann Publishers Inc., 1989.
Zhang, Tong. "Solving large scale linear prediction problems using stochastic gradient
descent algorithms." Proceedings of the twenty-first international conference on Machine
learning. ACM, 2004.