Computação Adaptativa



Documentos relacionados
Ferramentas Web, Web 2.0 e Software Livre em EVT

Prof. Me. Marcos Echevarria

MICROSOFT ACCESS MICROSOFT ACCESS. Professor Rafael Vieira Professor Rafael Vieira

PAINEL DE ADMINISTRADOR

Expansão de Imagem #2

AMBIENTE DE PROGRAMAÇÃO PYTHON

Eventos independentes

Facturação Guia do Utilizador

Cadastro de Usuários e Agendamento de Consultas

Guia de Utilização Gestão de Mensagens Fornecedor Janeiro 2010 PLATAFORMA ELECTRÓNICA VORTAL

Disciplina: TRANSPORTES. Sessão 10: A Intermodalidade em Sistemas de. Transportes: potencialidades, dificuldades, soluções

O Princípio da Complementaridade e o papel do observador na Mecânica Quântica

1 o º ciclo. Índice TUTORIAL

MANUAL DE PROCEDIMENTOS PLATAFORMA DE INSCRIÇÕES ONLINE

GeoMafra SIG Municipal

Documento SGS. PLANO DE TRANSIÇÃO da SGS ICS ISO 9001:2008. PTD v Pág 1 de 6

SEMINÁRIOS AVANÇADOS GESTÃO DE PROJECTOS

PROCEDIMENTOS PARA AQUISIÇÃO

Exemplo: Na figura 1, abaixo, temos: Clique aqui para continuar, que é a primeira atividade que você precisa realizar para iniciar seus estudos.

Gestor de Janelas Gnome

Iniciar o Data Adapter Configuration Wizard. Toolbox Data Duplo clique em OleDbDataAdapter. Botão next na caixa de diálogo

DOMINE O EXCEL Fascículo 1

MANUAL DO UTILIZADOR

1. Criar uma nova apresentação

Como estudar o SIPIA CT

Gestão do Risco e da Qualidade no Desenvolvimento de Software

Ferramenta de Apoio ao Jogo 2 (Ensino da Leitura) incluído nos Jogos da Mimocas

Bem-vindo ao nosso mundo virtual! Guia do Portal de Ensino à Distância da Get Training 1

MANUAL DE UTILIZAÇÃO. EcclesiaSoft v.01

Ferramentas de desenho

Manual de Utilizador Plataforma de Estágios TIC.

Acronis Servidor de Licença. Manual do Utilizador

Matlab - Neural Networw Toolbox. Ana Lívia Soares Silva de Almeida

DotNetNuke. Gestão de Conteúdos. Módulos - II. Inserção de conteúdos nos módulos. Módulo de Text/HTML. Módulo de Sre-Notícias. Módulo de Sre-Formação

CEDERJ - CENTRO DE EDUCAÇÃO SUPERIOR A DISTÂNCIA DO ESTADO DO RIO DE JANEIRO

GERA GESTÃO E CONTROLE DE TÍTULOS: parte I

Manual do Utilizador. Manual do Utilizador Modelo10 no sisgep. Data última versão: Versão : 1.2. Data criação:

4.1. UML Diagramas de casos de uso

Exercícios Teóricos Resolvidos

MANTENHA-SE INFORMADO

Simulado Informática Concurso Correios - IDEAL INFO

Reconhecimento de Padrões Utilizando Filtros Casados

Construindo Diagramas de Ciclos Causais

A Importância do Desenho de Construção Mecânica e da Concepção e Fabrico Assistidos por Computador ao nível da Indústria Metalomecânica *

Web Input Module (LUNA) V2.0 1/6

Tabelas vista de estrutura

Astra LX Frases Codificadas Guia para o processo de Configuração de Frases Codificadas no Programa AstraLX.

Secção II. A utilização nas empresas das tecnologias de inteligência artificial

MANUAL DE INSTRUÇÕES

Avaliação da Aprendizagem no Ensino Superior Prof. Dr. Dirceu da Silva

Visão Artificial Para a Indústria. Manual do Utilizador

Ficha de Apoio Como fazer uma apresentação no PowerPoint

O Gerenciamento de Documentos Analógico/Digital

Plataforma de Benefícios Públicos Acesso externo

IMPRESSÃO DE DADOS VARIÁVEIS usando Adobe InDesign e OpenOffice.org

Manual do Usuário ipedidos MILI S.A. - D.T.I.

, Todos os programas, Microsoft Office PowerPoint. Através de um atalho que poderá estar no Ambiente de Trabalho

Alteração do POC (Decreto de Lei nº. 35/2005) no sispoc

Início Rápido. Nero BackItUp. Ahead Software AG

Folha de Cálculo Introdução à Folha de Cálculo

White-box test: Também conhecido como teste estrutural, tem por objetivo validar os dados derivados das funções do sistema.

Akropole Catequista. Todos os Ficheiros no Akropole Catequista trabalham com uma simples barra de edição, com 4 botões:

Conhecendo o Decoder

Avaliação do Desempenho do. Pessoal Docente. Manual de Utilizador

Manual de Operacionalização do Módulo de Prestação de Contas PCS

Organização. Trabalho realizado por: André Palma nº Daniel Jesus nº Fábio Bota nº Stephane Fernandes nº 28591

Autor: Tiago Lone Nível: Básico Criação: 19/12/2005 Última versão: 18/12/2006. PdP. Pesquisa e Desenvolvimento de Produtos

7 - Análise de redes Pesquisa Operacional CAPÍTULO 7 ANÁLISE DE REDES. 4 c. Figura Exemplo de um grafo linear.

Curriculum DeGóis Guia de preenchimento do Curriculum Vitae (Informação mínima necessária)

GESTÃO CURRICULAR LOCAL: FUNDAMENTO PARA A PROMOÇÃO DA LITERACIA CIENTÍFICA. José Luís L. d`orey 1 José Carlos Bravo Nico 2 RESUMO

CAPÍTULO 8 - DECISÃO: ELABORANDO A GESTÃO DE UM RECURSO NATURAL 68. Exercício: UTILIZAÇÃO SUSTENTÁVEL

Data 23/01/2008. Guia do Professor. Introdução

Guião de Ajuda. Inscrição. Instituto Português da Juventude Departamento de Associativismo

Manual Fácil 1 DOWNLOAD E INSTALAÇÃO. 1. Como faço o download do Jimbo Mobile?

Criar um novo projeto

VERTENTE GESTÃO GLOBAL DE FICHEIROS E ADC S

Controladores Lógicos Programáveis. Automação e Controlo Industrial. Escola Superior de Tecnologia. Ricardo Antunes, António Afonso

Engenharia de Software

Manual do Usuário. Solução de Informações Gerenciais - BI

Capítulo 6 Movimentos

Como criar um blog. Será aberta uma janela onde você deverá especificar o título do blog, o endereço do blog, e o modelo.

Aplicação de Estatísticas de Ensino Superior

1 Introdução. 2 Exemplo de aplicação

Identificação de Caracteres com Rede Neuronal Artificial com Interface Gráfica

3 Qualidade de Software

Alguns truques do Excel. 1- Títulos com inclinação. 2- Preencha automaticamente células em branco

Driver Eticadata Versão 1.0 de Português

Criar um formulário do tipo Diálogo modal ; Alterar a cor de fundo de um formulário; Inserir botões de comando e caixas de texto;

DATAGEOSIS EDUCACIONAL 2005

Transcrição:

Departamento de Engenharia Informática Faculdade de Ciências e Tecnologia Universidade de Coimbra 2007/08 Computação Adaptativa TP2 OCR Optical Character Recognition Pedro Carvalho de Oliveira (MEI) Nº 501062444 Rui André Ponte Costa (MEI) Nº 501062452

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 grelha de desenho e carregar em Save nessa mesma secção. 1

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 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 de performance: sse Rui 2

3.1.1 Dataset Treino Pedro Memória Transferencia Numero Médio de Epocas pinv logsig learnp 2 purelin learngd 3 hardlim learnp 3 hebb logsig learnp 2 purelin learngd 3 hardlim learnp 2 Sem Memória logsig learnp 4 purelin learngd 48 hardlim learnp 4 3.1.2 Dataset Treino Rui Memória Transferencia Numero Médio de Epocas pinv logsig learnp 2 purelin learngd 3 hardlim learnp 2 hebb logsig learnp 2 purelin learngd 3 hardlim learnp 2 3

Sem Memória logsig learnp 4 purelin learngd 50 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 Memória Transferencia Valor Médio de Erro Dataset Treino Pedro Dataset Treino Rui pinv logsig learnp 48% 48% purelin learngd 38% 44% hardlim learnp 80% 78% hebb logsig learnp 100% 100% purelin learngd 88% 89% hardlim learnp 100% 100% Sem Memória logsig learnp 46% 51% purelin learngd 82% 82% 4

hardlim learnp 68% 72% 3.2.2 Dataset Validação Rui Memória Transferencia Valor Médio de Erro Dataset Treino Rui Dataset Treino Pedro pinv logsig learnp 42% 69% purelin learngd 26% 58% hardlim learnp 70% 83% hebb logsig learnp 100% 100% purelin learngd 87% 87% hardlim learnp 100% 100% Sem Memória logsig learnp 31% 61% purelin learngd 74% 86% 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. 5

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 6

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*P T ) 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 consegue aprender as associações. 7

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. 8