• Nenhum resultado encontrado

Computação Adaptativa

N/A
N/A
Protected

Academic year: 2021

Share "Computação Adaptativa"

Copied!
9
0
0

Texto

(1)

Universidade de Coimbra 2007/08

Computação Adaptativa

TP2

OCR – Optical Character Recognition

Pedro Carvalho de Oliveira (MEI) Nº 501062444

(2)

1. Introdução

Neste trabalho é proposto desenvolver uma aplicação de OCR (Optical Character Recognition) recorrendo a duas estruturas de rede neuronal: classificador (1) ou memória associativa + classificador (2).

Na memória associativa são utilizados 2 tipos distintos de funções de aprendizagem: Pseudo-Inversa de Moore-Penrose e a Regra de Hebb. O classificador possui 3 funções de transferência: Hard Limit, Linear ou Sigmóide Logarítmica. Como função de activação possui a regra do perceptrão ou o método do gradiente, conforme a função de transferência.

2. Funcionamento da Aplicação

Ao iniciar na linha de comandos a aplicação OCRApp, surge a seguinte janela:

Imagem 1. Janela Principal

1 - A primeira acção a efectuar é carregar os dados de treino da rede neuronal. No menu Load surgem cinco casos de teste predefinidos, posteriormente discutidos na secção 3.1 deste relatório. Apos fazer o load de um deles, é possivel verificar as matrizes P e T carregadas atraves da secção Matrix (exceptuando o P do test5 dada a sua dimensão). Caso não estejamos satisfeitos com alguma dessas matrizes, podemos desenhar uma nova na

(3)

2 - Após escolhermos os varios parametros da rede neuronal existentes, clicamos em Train e, durante o treino da rede neuronal, surgirá um gráfico que mostra a evolução da performance da rede ao longo das várias epocas. 3 - Neste ponto estamos prontos para testar a rede neuronal recentemente criada. Ao desenharmos os numeros a classificar e carregar no botão do meio do rato, é-nos apresentado do lado direito a classificação obtida. Caso carreguemos o botão direito sem desenhar, será feita a classificação da matriz Test presente no ficheiro carregado. Se não estivermos satisfeitos com os resultados, podemos alterar os parametros da rede e voltar a retreinar e reclassificar.

4 - A aplicação possui tambem uma modulo de estatistica, onde podemos adquirir dados estatisticos sobre o processo de treino da rede neuronal. É possível escolher o numero de iterações pretendidas, e após termos definido as opções da rede neuronal carregar em Run. A rede definida será treinada o numero de iterações definido, sendo apresentado numericamente a média de epocas por treino e erro médio, assim como graficos que demonstram a evolução de ambos os indicadores ao longo das iterações.

3. Testes da Aplicação

De seguida apresentamos alguns dos testes efectuados à nossa aplicação.

P T Test

Test1 Rui Rui Rui Test2 Pedro Pedro Pedro Test3 Rui Rui Pedro Test4 Pedro Pedro Rui Test5 Pedro+ Rui+Outro Rui Rui

3.1 Treino

Para treino foram utilizados 2 datasets distintos, cada um correspondente à caligrafia de um dos elementos do grupo.

São apresentadas as estatísticas referentes ao treino dos diferentes tipos de rede neuronal utilizados num total de 100 iterações.

Parâmetros genéricos de treino Numero máximo de épocas: 1000 Taxa de aprendizagem: 0.3

Valor objectivo de erro: 1e-0 Função de performance: sse

(4)

3.1.1 Dataset Treino Pedro Função Aprendizagem Memória Associativa Função Transferencia Classificador Função Aprendizagem Classificador Numero Médio de Epocas logsig learnp 2 purelin learngd 3 pinv hardlim learnp 3 logsig learnp 2 purelin learngd 3 hebb hardlim learnp 2 logsig learnp 4 purelin learngd 48 Sem Memória Associativa hardlim learnp 4

3.1.2 Dataset Treino Rui

Função Aprendizagem Memória Associativa Função Transferencia Classificador Função Aprendizagem Classificador Numero Médio de Epocas logsig learnp 2 purelin learngd 3 pinv hardlim learnp 2 logsig learnp 2 purelin learngd 3 hebb

(5)

logsig learnp 4 purelin learngd 50 Sem Memória Associativa hardlim learnp 5 3.1.3 Conclusões

Todas as arquitecturas conseguem um bom desempenho em termos

temporais, sendo a única excepção a estrutura sem memoria associativa, com funções purelin+learngd. As diferenças entre o numero médio de epocas de treino dos dois datasets é minimo, talvez por o numero de casos de teste ser reduzido (apenas 5 para cada número).

3.2 Validação

Criámos 2 datasets de teste, cada um referente a um elemento do grupo. Esses datasets foram utilizados na validação das várias redes neuronais criadas através dos casos de treino da secção anterior, num total de 100 iterações.

3.2.1 Dataset Validação Pedro

Valor Médio de Erro Função Aprendizagem Memória Associativa Função Transferencia Classificador Função Aprendizagem Classificador Dataset Treino Pedro Dataset Treino Rui logsig learnp 48% 48% purelin learngd 38% 44% pinv hardlim learnp 80% 78% logsig learnp 100% 100% purelin learngd 88% 89% hebb hardlim learnp 100% 100% logsig learnp 46% 51% Sem Memória Associativa purelin learngd 82% 82%

(6)

hardlim learnp 68% 72%

3.2.2 Dataset Validação Rui

Valor Médio de Erro Função Aprendizagem Memória Associativa Função Transferencia Classificador Função Aprendizagem Classificador Dataset Treino Rui Dataset Treino Pedro logsig learnp 42% 69% purelin learngd 26% 58% pinv hardlim learnp 70% 83% logsig learnp 100% 100% purelin learngd 87% 87% hebb hardlim learnp 100% 100% logsig learnp 31% 61% purelin learngd 74% 86% Sem Memória Associativa hardlim learnp 53% 79% 3.2.3 Conclusões

Em ambos os datasets, a estrutura com memoria associativa (pinv), com funções purelin+learngd conseguiu melhores resultados. A estrutura sem memoria associativa com funções logsig+learnp tambem consegui resultados razoaveis (principalmente no segundo dataset), ficando pouco atrás nos testes efectuados.

Existe uma relativa diferença entre os valores de erro dos dois datasets, tendo o segundo dataset melhores resultados com o conjunto de treinos do seu criador, mas mostrando pouca capacidade de generalização ao classificar com maior taxa de erro o conjunto de treino adversário. Essa situação já não

acontece no primeiro dataset, que classifica com taxas identicas ambos os datasets de treino anteriormente criados.

(7)

3.3 Testes Específicos

Após termos validado as várias redes neuronais, vamos testar exaustivamente a melhor solução (memória associativa (pinv) + classificador

(purelin+learngd)). Para isso conduzimos uma série de testes para podermos concluir como as variações no dataset de teste influenciam os resultados. Numero 1

Numero 3

Numero 5

Numero 8

Numero 0

Como se pode comprovar, a memoria associativa + classificador consegue uma boa capacidade de generalização. A memória associativa faz um bom

(8)

trabalho na filtragem do input, facilitando em muito a tarefa do classificador. Apesar de a rede ter sido treinada com apenas 5 casos para cada número, conseguem-se bons resultados, principalmente em dados parcialmente imperfeitos.

4. Questionário

4.1 Data Set

a) Em que medida o data set influencia a performance do sistema classificador?

O data set tem aqui um papel crucial na medida em deve ser usado uma quantidade de dados considerável de modo a que a rede consiga ter maior flexibilidade assim como maior poder de classificação. Se rede neuronal for treinada com dados provenientes de diferentes tipos de caligrafia, esta terá uma maior flexibilidade, podendo classificar mais correctamente diferentes tipos de caligrafia. Se por outro lado a rede neuronal for testada com um só tipo de caligrafia, mas com um conjunto de dados relativamente grande (p.e. 150) consegue ser mais precisa na classificação daquela caligrafia em específico.

4.2 Estrutura da Rede Neuronal

a) Qual a estrutura que demonstra melhores resultados? Apenas o classificador ou o classificador+memória associativa?

Recorrendo a uma estrutura em que tanto o classificador como a memória associativa (MA) estão presentes a classificação dos digítos é mais eficaz. Isto deve-se ao facto de a MA servir como um filtro, isto é, se o input não for perfeito a MA tem a capacidade de devolver um output mais perfeito.

b) E quanto à função de activação: hardlim, linear ou logsig?

A melhor função de activação encontrada foi a linear, com função de aprendizagem gradiente. A logsig tambem demonstrou bons resultados.

c) Qual a performance da regra de Hebb?

A regra de Hebb (W = T*PT) aplicada à memória associativa não consegue auxiliar correctamente o classificador porque os padrões do conjunto de input não são mutuamente ortogonais, ocorrem interferências e a rede não

(9)

4.3 Resultados

a) O sistema classificador é capaz de atingir os objectivos principais (classificação de digitos)?

O sistema por nós implementado foi capaz de atingir os objectivos, no entanto ainda se verifica alguma taxa de erro, que pode ser ultrapassada recorrendo a um conjunto de dados de treino mais vasto e completo.

b) E a capacidade de generalização? O sistema classificador é suficientemente robusto para dar saidas correctas quando as entradas não são perfeitas?

Os casos de teste por nós elaborados comprovam a sua capacidade de generalização, o caso de teste 5, embora não tendo sido testado exaustivamente leva a uma maior capacidade de generalização dado ter um conjunto de dados de treino provenientes de três pessoas e comprova assim como o test3 e 4 a capacidade de generalização da rede.

Referências

Documentos relacionados

Para o acompanhamento e monitorização da implementação o plano de ação foi realizado um levantamento de informação sobre projetos, iniciativas e comportamentos que

Fração argila das amostras de solo Caulinita Calcita Clima mesotérmico úmido Radiação de cobre Kα Diâmetro de partícula Programa que utiliza o MR para refinamento de estrutura Medida

Por meio desse estudo, que fez parte de uma pesquisa de um curso de especialização em Ensino de Matemática, desenvolveu-se e aplicou-se um plano de aula, em

Dessa forma, Benjamim postula uma verdade para além da história, pois a verdade do passado está naquilo que ele encerra e, por isso, a tarefa do historiador será revelar

b) Determine o ponto máximo ou mínimo do gráfico da função. Dica: coloque a coordenada do vértice na linha D, ou seja, no meio da tabela, e sugira valores acima e abaixo do Xv..

O segundo ponto aborda a forma com a qual a Igreja deve estar presente no mundo, qual a sua atuação no tempo e no espaço em meio à pluralidade, à mudança de época,

Para este efeito, avaliaram-se as glicemias e o cumprimento dos objetivos glicémicos ao longo da gestação e compararam-se entre os grupos com ceia Normal vs

1.1.Caracteriza-se como Projeto Dinter o atendimento, por um programa de pós- graduação com curso de doutorado reconhecido pelo MEC/CNE e já consolidado, de um grupo ou turma