redes neuronais e reconhecimento de caracteres · classificação dos caracteres; (d) ... sobre a...

35
INSTITUTO POLITÉCNICO DE LISBOA INSTITUTO SUPERIOR DE ENGENHARIA DE LISBOA Redes Neuronais e Reconhecimento de Caracteres Folhas de apoio à disciplina de Projecto de Processamento de Sinal e Imagem do CESE em Engenharia Electrotécnica – Sistemas e Comunicações Maria Isabel de Almeida Milho Maio de 2000

Upload: hoangnhan

Post on 15-Dec-2018

221 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Redes Neuronais e Reconhecimento de Caracteres · classificação dos caracteres; (d) ... sobre a imagem digital do ... representação das imagens pode ser em níveis de cinzento

INSTITUTO POLITÉCNICO DE LISBOA INSTITUTO SUPERIOR DE ENGENHARIA DE LISBOA

Redes Neuronais e

Reconhecimento de Caracteres

Folhas de apoio à disciplina de Projecto de Processamento de Sinal e Imagem

do CESE em Engenharia Electrotécnica – Sistemas e Comunicações

Maria Isabel de Almeida Milho

Maio de 2000

Page 2: Redes Neuronais e Reconhecimento de Caracteres · classificação dos caracteres; (d) ... sobre a imagem digital do ... representação das imagens pode ser em níveis de cinzento

ii

Page 3: Redes Neuronais e Reconhecimento de Caracteres · classificação dos caracteres; (d) ... sobre a imagem digital do ... representação das imagens pode ser em níveis de cinzento

iii

ÍNDICE

1. Introdução ................................................................................................................. 1

2. Exemplo de um Sistema de Reconhecimento de Caracteres .................................... 2

3. Classificação de Caracteres....................................................................................... 5

4. Rede de Perceptrões Multicamada............................................................................ 6

4.1 Modelo do perceptrão ....................................................................................... 6

4.2 Método de aprendizagem da rede neuronal ...................................................... 7

5. Escolha da Topologia da Rede Neuronal................................................................ 10

5.1 Descrição de várias topologias........................................................................ 10

5.2 Resultados da aprendizagem das redes descritas ............................................ 13

6. Aprendizagem da Rede com a Topologia Escolhida .............................................. 17

6.1 Conjuntos de treino e de teste ......................................................................... 17

6.2 Parâmetros da aprendizagem .......................................................................... 20

6.3 Critério de paragem da aprendizagem ............................................................ 21

6.4 Selecção da saída da rede neuronal................................................................. 21

6.5 Resultados obtidos .......................................................................................... 23

7. Comentários ............................................................................................................ 27

7.1 Resultados obtidos com as imagens em níveis de cinzento............................ 28

8. Referências.............................................................................................................. 30

Page 4: Redes Neuronais e Reconhecimento de Caracteres · classificação dos caracteres; (d) ... sobre a imagem digital do ... representação das imagens pode ser em níveis de cinzento

iv

Page 5: Redes Neuronais e Reconhecimento de Caracteres · classificação dos caracteres; (d) ... sobre a imagem digital do ... representação das imagens pode ser em níveis de cinzento

1

1. Introdução

Com este trabalho propõe-se ilustrar a aplicação de redes neuronais no

reconhecimento de padrões, evidenciando o modelo de perceptrões multicamada, com

ligações não recorrentes.

Neste documento descreve-se a classificação de imagens de caracteres baseada

no trabalho desenvolvido em [1] onde se optou pela abordagem neuronal usando uma

rede neuronal multicamada, com ligações não recorrentes. É descrito o modelo deste

tipo de redes, dando ênfase ao método de aprendizagem. Depois de formular o problema

para o classificador, a rede será definida em relação às características de cada unidade e

à estratégia de aprendizagem. Apresentam-se os estudos efectuados para a escolha da

topologia da rede neuronal (ligações entre unidades), assim como os resultados finais da

aprendizagem da rede com a topologia escolhida, considerando as imagens definidas em

níveis binários. Finalmente comentam-se os resultados obtidos e propõem-se algumas

soluções para melhorar o desempenho do sistema. Também se comentam os resultados

da classificação usando as imagens definidas em 256 níveis de cinzento.

Page 6: Redes Neuronais e Reconhecimento de Caracteres · classificação dos caracteres; (d) ... sobre a imagem digital do ... representação das imagens pode ser em níveis de cinzento

2

2. Exemplo de um Sistema de Reconhecimento de Caracteres

Na figura 2.1 apresenta-se um exemplo de um sistema de reconhecimento de

caracteres da linha óptica de cheques bancários [1], [2], onde se identifica a estrutura

típica de um sistema de reconhecimento de padrões [4].

Pré Processamento

Classificação(rede neuronal)

Pós Processamento

BancoBalcãoNo.ContaNo.ChequeTipo

330555000170598763383777212

Aquisição

Figura 2.1 – Exemplo de um sistema de reconhecimento de caracteres da linha óptica do cheque bancário.

O sistema, que tem como entrada o cheque bancário e como saída o ficheiro de

dados contendo os caracteres reconhecidos (organizados por campos significativos),

decompõe-se em quatro módulos: (a) aquisição digital do documento; (b)

pré-processamento da imagem baseado no conhecimento específico do documento; (c)

classificação dos caracteres; (d) pós-processamento com detecção de erros e recuperação

de omissões. O módulo de pré-processamento realiza, sobre a imagem digital do

documento, a sementação dos caracteres a reconhecer; a classificação dos caracteres é

implementada através de uma rede neuronal multicamada, com ligações não recorrentes.

O suporte de desenvolvimento deste sistema consiste num conjunto de

programas (desenvolvidos em linguagem C) com vista a tornar o sistema mais versátil

antes de chegar à sua forma final de aplicação. Com este conjunto de ferramentas o

sistema global é separado em operações sequenciais de modo a permitir a análise de

cada operação individualmente e os seus efeitos no sistema.

Na figura 2.2 estão representadas sequencialmente as acções de processamento

sobre a imagem do documento desde a sua aquisição até ao formato final exigido pela

aplicação. Ilustram-se ainda os formatos dos resultados das várias acções, definidos de

modo a permitir o estudo e aperfeiçoamento individual (ou em grupo) de cada uma.

Page 7: Redes Neuronais e Reconhecimento de Caracteres · classificação dos caracteres; (d) ... sobre a imagem digital do ... representação das imagens pode ser em níveis de cinzento

SEG

ME

NT

NE

UR

CO

NV

SEL

EC

TD

ET

EC

TN

EU

RN

ET

TIF

2CH

Che

que

(TIF

F)L

inha

Ópt

ica

(30x

400

pixe

ls)

31 D

ígito

s

(8x6

pixe

ls)

Sim

ulad

orda

red

e ne

uron

al

Top

olog

iada

red

ePe

sos

da r

ede

Sequ

ênci

a de

31 c

arac

tere

s

35 c

arac

tere

sno

for

mat

ode

fini

do

Iden

tific

ação

da

imag

em d

a lin

ha ó

ptic

aSe

gmen

taçã

oda

linh

a óp

tica

e do

s ca

ract

eres

Con

vers

ão d

as im

agen

s 8x

6pi

xels

em v

ecto

res

de 4

8 va

lore

s re

ais

Sele

cção

da

saíd

aac

tiva

da r

ede

neur

onal

Det

ecçã

o de

err

osSi

mul

ador

da r

ede

neur

onal

Aqu

isiç

ão d

igita

ldo

doc

umen

to31

Vec

tore

s(c

om 4

8 re

ais)

BIN

AR

Y

TIF

FDU

MP

ER

RO

SCA

N

SHO

WC

H

HIS

T

PRO

JEC

FIL

TE

R

CH

2TIF

SHO

WC

AR

CA

R2T

IF

SEPA

RA

JUN

TA

ME

DIA

UTI

LITÁ

RIO

S

PR

É-P

RO

CE

SS

AM

EN

TO

CL

AS

SIF

ICA

ÇÃ

OP

ÓS

-PR

OC

ES

SA

ME

NT

O

UTI

LITÁ

RIO

SU

TILI

TÁR

IOS

UTI

LITÁ

RIO

S

Figu

ra 2

.2 -

Esq

uem

a fu

ncio

nal d

o si

mul

ador

des

envo

lvid

o pa

ra o

rec

onhe

cim

ento

dos

car

acte

res

impr

esso

s na

linh

a óp

tica

do c

hequ

e ba

ncár

io.

Page 8: Redes Neuronais e Reconhecimento de Caracteres · classificação dos caracteres; (d) ... sobre a imagem digital do ... representação das imagens pode ser em níveis de cinzento

4

Além dos programas que representam as várias operações do sistema são

referidos, na figura 2.2, os programas utilitários auxiliares que servem de apoio ao

estudo do problema. Por exemplo: a filtragem passa-baixo (programa FILTER); a

determinação do histograma da imagem (programa HIST); a observação das imagens

dos caracteres (programa SHOWCAR).

O simulador de perceptrões multicamada não recorrentes desenvolvido

(apresentado nas figuras 2.2 e 2.3) tem como principais características: implementação

do algoritmo da retropropagação do erro; aprendizagem determinística (em batch);

ajuste de pesos com passos adaptativos e termo de momento; controlo da evolução do

erro; validação cruzada.

Na figura 2.3 descreve-se o processo de aprendizagem supervisionada da rede

neuronal (através da informação do conjunto de treino, indicando a classe correcta da

imagem a classificar). O conjunto de vectores de validação é usado na avaliação da

capacidade de generalização do classificador, estabelecendo o critério de paragem da

aprendizagem.

Valores desejados

NEURNET Simuladorda rede neuronal

Topologiada rede

Parâmetrosde

aprendizagem

Pesos finais da rede

Erro quadrático

médio

Vectores de Treino

Vectores deValidação

Valores desejados

Figura 2.3 - Esquema funcional do simulador para realizar a aprendizagem da rede neuronal.

Page 9: Redes Neuronais e Reconhecimento de Caracteres · classificação dos caracteres; (d) ... sobre a imagem digital do ... representação das imagens pode ser em níveis de cinzento

5

3. Classificação de Caracteres

Após a segmentação dos caracteres tem-se uma sequência de 31 imagens de

dimensão 8 x 6 pixel que representam os 31 dígitos da linha óptica do cheque. A

representação das imagens pode ser em níveis de cinzento ou em níveis binários,

conforme já se referiu no capítulo anterior. No entanto, na primeira fase deste trabalho

apenas se considera a representação binária ficando como fase posterior o estudo da

diferença de resultados obtidos com as duas representações.

A tarefa do classificador será reconhecer todas as imagens da sequência

produzida pelo pré-processador, uma a uma, gerando à saída a sequência dos dígitos

respectivos.

Figura 3.1 - Classificador com uma sequência de 31 imagens à entrada e uma sequência de 31 dígitos à

saída.

Na figura 3.1 está representada a funcionalidade do classificador. A classificação

de cada imagem é feita pela rede neuronal, tendo como entrada a imagem e como saída

a classe do dígito correspondente.

Page 10: Redes Neuronais e Reconhecimento de Caracteres · classificação dos caracteres; (d) ... sobre a imagem digital do ... representação das imagens pode ser em níveis de cinzento

6

4. Rede de Perceptrões Multicamada

A escolha da classificação de caracteres através de uma rede de perceptrões

multicamada, com ligações não recorrentes, é baseada em trabalhos efectuados [1], [2],

[5], [6], [7], [8], [9], [10].

O exemplo da estrutura de uma rede de perceptrões multicamada não recorrentes

é representado na figura 4.1.

wjiCamada

de EntradaCamadade Saída

Camada(s)Escondida(s)

i

j

k

m

l

wmj

wlk

wmk

Figura 4.1 - Estrutura de uma rede de perceptrões multicamada não recorrentes.

A estrutura da rede é organizada por camadas, permitindo ligações não

recorrentes entre perceptrões de camadas adjacentes e não adjacentes. Na figura 4.1

observam-se várias ligações entre perceptrões, onde wmj representa o peso da ligação

entre o perceptrão j e o perceptrão m.

4.1 Modelo do perceptrão

O modelo computacional do perceptrão (unidade da rede) vem representado na

figura 4.2. O perceptrão recebe como entrada um vector de dimensão N, produzindo um

valor de saída. Este valor é obtido aplicando a soma ponderada das componentes do

vector de entrada à função contínua e não linear f(si), designada por função de activação.

Page 11: Redes Neuronais e Reconhecimento de Caracteres · classificação dos caracteres; (d) ... sobre a imagem digital do ... representação das imagens pode ser em níveis de cinzento

7

Polarização

Entradas Saída..

( )y si i= ff(si)

si

wi0

wij

wi1

x0

xj

xN

x1

wiN

s w xi ij jj

N

= ⋅=∑

0

Figura 4.2 - Modelo computacional do perceptrão.

4.2 Método de aprendizagem da rede neuronal

A aprendizagem da rede neuronal é supervisionada, com a informação de qual é

a saída desejada para cada padrão apresentado na entrada.

O método de aprendizagem, através da retropropagação do erro [11],

implementa a técnica do gradiente descendente para minimizar a função de custo. Esta

função exprime o valor do erro quadrático médio,

E nP

y dip

ipip( ) ( )=

⋅−∑∑1

102 , (4.1)

onde yip e di

p representam respectivamente a saída obtida e a saída desejada para a

unidade (perceptrão) de saída i com o padrão p apresentado na entrada. O valor de P

representa o número total de padrões apresentados e o valor 10 é o número de saídas.

A actualização dos pesos das ligações é feita segundo

w w( ) ( ) ( )n n E n+ = − ⋅∇1 η , (4.2)

onde w é o vector de pesos, n é o número de épocas de treino (ou iterações), η é o

coeficiente de aprendizagem e ∇E(n) é o vector gradiente da função de erro.

Quando a actualização dos pesos é feita depois de se apresentarem todos os

elementos do conjunto de treino diz-se que o procedimento de treino é determinístico

(em batch). Se a actualização é feita para cada apresentação de elemento do conjunto de

treino o procedimento de treino denomina-se estocástico (real-time) onde ∇E(n) é a

Page 12: Redes Neuronais e Reconhecimento de Caracteres · classificação dos caracteres; (d) ... sobre a imagem digital do ... representação das imagens pode ser em níveis de cinzento

8

estimativa obtida da acumulação dos gradientes numa época de treino. Neste trabalho

implementa-se a aprendizagem em procedimento determinístico.

De uma forma genérica a actualização do peso wij (da ligação entre a unidade j e

a unidade i), na época de treino n, representa-se da seguinte forma:

w n w n w nij ij ij( ) ( ) ( )+ = +1 ∆ . (4.3)

De acordo com (4.2) a variação ∆wij(n) do peso wij(n), referida em (4.3), vem

igual a

∆w nE n

w nijij

( )( )

( )= − ⋅η ∂

∂, (4.4)

onde o coeficiente de aprendizagem η é constante para todas as épocas de treino e igual

para todos os pesos, independentemente das diferentes variações das componentes do

vector gradiente, ∂∂

E n

w nij

( )

( ).

Em alternativa a (4.4), para acelerar a aprendizagem, implementa-se o ajuste de

pesos com passos adaptativos [9], de tal forma que

∆w n n z nij ij ij( ) ( ) ( )= − ⋅η . (4.5)

Observa-se em (4.5) que o valor do coeficiente de aprendizagem já não é

constante para todas as épocas de treino nem igual para todos os pesos, mas particular a

cada ligação: ηij(n), para a ligação de peso wij, adapta-se de acordo com a relação entre

os sinais (em duas épocas consecutivas) do gradiente da função de custo, tal que

ηη ∂

∂∂∂

η ∂∂

∂∂

ij

ijij ij

ijij ij

n

u nE n

w n

E n

w n

d nE n

w n

E n

w n

( )

( )( )

( )

( )

( )

( )( )

( )

( )

( )

=⋅ −

⎝⎜

⎠⎟ ⋅ −

−⎛

⎝⎜

⎠⎟ >

⋅ −⎛

⎝⎜

⎠⎟ ⋅ −

−⎛

⎝⎜

⎠⎟ <

⎪⎪

⎪⎪

11

10

11

10

se

se

,

(4.6)

onde u e d são constantes positivas com valores ligeiramente acima ou abaixo da

unidade, respectivamente.

Page 13: Redes Neuronais e Reconhecimento de Caracteres · classificação dos caracteres; (d) ... sobre a imagem digital do ... representação das imagens pode ser em níveis de cinzento

9

Ainda em (4.5), em conjunto com os passos adaptativos, aplica-se a técnica do

termo de momento fazendo

z nE n

w nz nij

ijij( )

( )

( )( )= + ⋅ −∂

∂α 1 , (4.7)

onde α é a constante do termo de momento [11].

Para garantir a robustez da aprendizagem é controlada a evolução do erro em

cada época de treino (ou iteração) de acordo com a condição

E n t E n( ) ( )> ⋅ − 1 (4.8)

onde t é o valor de tolerância devido a erros de cálculo.

Se o erro E(n) aumentar rejeita-se o vector de pesos da última iteração, voltando

à iteração anterior. Porém, na nova actualização de pesos (4.5) o cálculo do novo valor

de ηij(n), em (4.6), toma em consideração o sinal da componente do vector gradiente da

“falsa” iteração e o valor de zij(n-1), em (4.7), é anulado. Se, após algumas iterações

consecutivas (tipicamente duas ou três iterações), a estratégia não funcionar reduz-se o

valor de ηij(n-1), por um factor fixo r, e aplica-se novamente a estratégia. As “falsas”

iterações são incluídas na contagem do número de iterações da aprendizagem, na

apresentação dos resultados.

Finalmente, para controlar a capacidade de generalização da rede, efectua-se a

validação cruzada com um conjunto de teste disjunto do conjunto de treino e, como este,

representativo do universo. Esta validação permite observar a época de treino a partir da

qual a rede continua a minimizar a função de custo E(n) para o conjunto de treino, mas

em prejuízo do aumento do erro quadrático médio para o conjunto de teste. É nesta

época que a aprendizagem deve terminar.

Page 14: Redes Neuronais e Reconhecimento de Caracteres · classificação dos caracteres; (d) ... sobre a imagem digital do ... representação das imagens pode ser em níveis de cinzento

10

5. Escolha da Topologia da Rede Neuronal

O número de camadas, o número de unidades por camada e as ligações entre

unidades definem a topologia da rede. Redes com topologias diferentes têm resultados

diferentes, principalmente devido ao número de pesos independentes que cada uma tem.

Diz-se que uma rede neuronal tem capacidade de generalização se a rede tem,

para o conjunto de teste nunca apresentado à rede na aprendizagem, comportamento

semelhante, ou ligeiramente inferior, ao que tem para o conjunto de treino. A

capacidade de generalização da rede é influenciada por três factores [8]: o conjunto de

treino (dimensão e eficiência), a topologia da rede e a complexidade do problema. Para

resolver determinado problema apenas os dois primeiros factores podem variar

permitindo que o classificador seja desenhado segundo uma de duas perspectivas:

• fixar a topologia e determinar o conjunto de treino;

• fixar este conjunto e escolher a topologia com melhor comportamento.

No trabalho [1] opta-se pela última perspectiva, uma vez que o conjunto de

treino disponível é bastante limitado: 1240 dígitos pertencentes a 40 cheques.

Para escolher a topologia com melhor comportamento, a aprendizagem é

realizada para várias redes (com topologias diferentes), sendo avaliada, para cada rede, a

função de custo que contabiliza a eficiência e o número de unidades da rede. Apesar

deste método se tornar pouco prático, para aplicações de elevado nível de complexidade

(o treino de apenas uma rede requer tempo de processamento elevado), foram realizadas

aprendizagens em várias redes, com organizações diferentes nas camadas escondidas, e

avaliadas as respectivas funções de custo.

5.1 Descrição de várias topologias

As camadas de entrada e de saída são comuns a todas as topologias descritas.

Cada padrão de entrada da rede neuronal é um vector de 48 valores reais que

correspondem à conversão linear dos níveis de cinzento de cada imagem 8 x 6 pixel. A

camada de entrada da rede neuronal tem 48 unidades cujos valores de saída são os

Page 15: Redes Neuronais e Reconhecimento de Caracteres · classificação dos caracteres; (d) ... sobre a imagem digital do ... representação das imagens pode ser em níveis de cinzento

11

valores do vector que representa a imagem do dígito. A camada de saída tem 10

unidades, que correspondem às 10 classes de dígitos, onde o reconhecimento de cada

imagem corresponde à activação da unidade da classe que lhe corresponde. Quando um

padrão pertencente à classe i é apresentado, o valor desejado para a unidade i da camada

de saída é o valor máximo, e para as outras unidades de saída é o valor mínimo.

As redes que foram submetidas à aprendizagem encontram-se descritas na tabela

5.1, onde são também referidos o número de pesos e o número de unidades de cada rede.

Todas as redes têm 1 camada escondida, excepto a designada por lc2 que tem 2 camadas

escondidas.

Rede Descrição

N.o de unidades na(s) camada(s) escondida(s): descrição das ligações.

No de

Pesos

No de

Unidades

lc1 14 (na 1a camada escondida): 8 têm 6 entradas que correspondem aos pixel de cada

linha, 6 têm 8 entradas que correspondem aos pixel de cada coluna. As saídas das 14

unidades ligam a todas as unidades da camada de saída.

260 72

lc2 14 (na 1a camada escondida): 8 têm 6 entradas que correspondem aos pixel de cada

linha, 6 têm 8 entradas que correspondem aos pixel de cada coluna. As saídas das 14

unidades ligam a todas as unidades da camada de saída.

2 (na 2a camada escondida): 1 com ligações a 8 unidades da 1a camada escondida

(linhas) e 1 com ligações a 6 unidades da 1a camada escondida (colunas). As saídas das

2 unidades ligam a todas as unidades da camada de saída.

296 74

a10 10 (na 1a camada escondida): com ligações a todas as unidades de entradas. As saídas

das 10 unidades ligam a todas as unidades da camada de saída.

600 68

a12 12 (na 1a camada escondida): com ligações a todas as unidades de entradas. As saídas

das 12 unidades ligam a todas as unidades da camada de saída.

718 70

a14 14 (na 1a camada escondida): com ligações a todas as unidades de entrada. As saídas das

14 unidades ligam a todas as unidades da camada de saída.

836 72

a15 15 (na 1a camada escondida): com ligações a todas as unidades de entrada. As saídas das

15 unidades ligam a todas as unidades da camada de saída.

895 73

a20 20 (na 1a camada escondida): com ligações a todas as unidades de entrada. As saídas das

20 unidades ligam a todas as unidades da camada de saída.

1190 78

Tabela 5.1 - Descrição de várias redes neuronais com organizações diferentes nas camadas escondidas.

Page 16: Redes Neuronais e Reconhecimento de Caracteres · classificação dos caracteres; (d) ... sobre a imagem digital do ... representação das imagens pode ser em níveis de cinzento

12

As redes descritas na tabela 5.1 dividem-se em dois grupos: (a) redes com

informação da estrutura geométrica e (b) redes sem informação da estrutura geométrica.

No primeiro grupo incluem-se as redes designadas por lc1 e lc2, enquanto a10, a12,

a14, a15 e a20 pertencem ao segundo grupo.

Camada

de Entrada

L2

L1

L3

L4

L5

L6

L7

L8

C1

C2

C3

C4

C5

C6

P1

P2

P3

P4

P5

P6

P43

P44

P45

P46

P47

P48

D0

D1

D2

D3

D4

D5

D6

D7

D8

D9

Janela 6x8

Camadade Saída

CamadaEscondida

14 unidades

48 unidades

10 unidades

7

SELECÇÃO

DA

SAÍDA

Figura 5.1 - Topologia da rede neuronal designada por lc1.

Veja-se, como exemplo de rede com informação geométrica, a rede designada

por lc1, representada na figura 5.1. Esta rede tem 48 unidades de entradas que ligam a

14 unidades da camada escondida. A cada unidade de entrada é associado o valor de

cada um dos pixels da imagem 8x6 pixel e cada uma das unidades da camada escondida

tem como entradas as saídas de 6 ou 8 unidades de entrada que correspondem aos

valores dos pixels de uma linha ou de uma coluna da imagem, respectivamente. As

saídas das unidades da camada escondida de saída ligam a todas as 10 unidades da

camada de saída que representam as 10 classes diferentes de dígitos (dígitos 0 a 9).

O uso de um número reduzido de unidades, em qualquer das redes descritas na

tabela 5.1, tem em vista a redução do custo computacional, a redução do tempo de

aprendizagem e a optimização da capacidade de generalização da rede.

Page 17: Redes Neuronais e Reconhecimento de Caracteres · classificação dos caracteres; (d) ... sobre a imagem digital do ... representação das imagens pode ser em níveis de cinzento

13

5.2 Resultados da aprendizagem das redes descritas

A aprendizagem de cada rede é realizada segundo o método descrito em 4.2. Os

valores dos parâmetros da aprendizagem são apresentados na tabela 5.2, sendo definidos

com base em experiências realizadas e nos resultados obtidos em [9]. Por razões de

eficiência (morosidade dos testes) utilizou-se o subconjunto de treino com 25 cheques.

Entradas xj [-0,5 ; 0,5]

Saída activa desejada di 0,5

Saída inactiva desejada dk -0,5

Pesos iniciais, gerados aleatoriamente wij dist. uniforme em

[-0,3 ; 0,3]

Função de activação f(si) 2/π⋅atan(si)

Coeficientes de aprendizagem iniciais ηij 0,05

Constante de aumento de η u 1,2

Constante de redução de η d 0,7

Constante do termo de momento α 0,5

Tolerância do erro t 1,001

N.o de “falsas” iterações para a redução de η f 3

Redução de η se o n.o de falsas iterações ≥ f r 0,5

Tabela 5.2 - Parâmetros de aprendizagem das várias redes.

Para escolher a topologia, considera-se que a aprendizagem termina quando o

valor do erro quadrático médio para o conjunto de treino com 25 cheques (775 dígitos)

for inferior a 0,01. O número de iterações necessárias para a rede atingir este valor é

usado como critério para seleccionar as redes que convergem mais rapidamente, depois

Page 18: Redes Neuronais e Reconhecimento de Caracteres · classificação dos caracteres; (d) ... sobre a imagem digital do ... representação das imagens pode ser em níveis de cinzento

14

de confirmar que o valor do erro quadrático médio para o conjunto de validação com 10

cheques (310 dígitos) se encontra a decrescer.

Como o número de iterações necessárias para a rede convergir depende dos

valores iniciais dados aos pesos, cada treino é realizado 20 vezes com valores iniciais

diferentes. Para cada topologia registam-se a mediana, a média e o desvio padrão do

número de iterações necessárias e ainda o número de processos que falham dentro do

limite máximo de épocas de treino estipulado (400 épocas). Determinado tal como em

[12, pág. 68], o valor da mediana é apresentado para ser considerado em alternativa ao

valor médio, que vem influenciado pela existência de processos falhados. Estas medidas

são variantes sugeridas em [13].

Designação da Épocas de Treino

Topologia média desvio-padrão mediana p. falhados

lc1 386 38 400 17

lc2 338 100 400 11

a10 142 118 86 2

a12 104 91 77 0

a14 91 81 62 1

a15 64 35 51 1

a20 95 84 63 1

Tabela 5.3 - Mediana, média e desvio padrão do no. de épocas de treino e processos falhados para as

diferentes redes experimentadas.

Analisando os resultados da tabela 5.3 verifica-se que as duas redes com

organização geométrica (lc1 e lc2) têm resultados inferiores, em termos de velocidade

Page 19: Redes Neuronais e Reconhecimento de Caracteres · classificação dos caracteres; (d) ... sobre a imagem digital do ... representação das imagens pode ser em níveis de cinzento

15

de convergência, aos obtidos com as redes que não têm nenhuma informação quanto à

localização dos pixels na imagem.

Em contrapartida, as redes lc1 e lc2 apresentam vantagens em relação às outras,

nomeadamente: o tempo de aprendizagem e o tempo de processamento na classificação.

Através da tabela 5.1 observa-se que a topologia lc1 tem 260 pesos enquanto que a

topologia a14, com o mesmo número de unidades, tem 836 pesos. Na classificação de

uma imagem o número das operações de multiplicação e de soma efectuadas é igual ao

número de pesos, concluindo-se que o tempo de processamento na classificação será

cerca de três vezes menor com a rede lc1 do que com a rede a14.

Observando-se, ainda na tabela 5.3, os resultados obtidos com as redes que têm

todas as unidades de entrada ligadas a todas as unidades da camada escondida (a10, a12,

a14, a15 e a20) constata-se que a rede designada por a15 é a que, em média, converge

mais rapidamente (média = 64) e com menor dispersão (desvio-padrão = 35). Verifica-

se também que, a partir de um determinado número de unidades e de ligações, o valor

médio e o desvio-padrão do número de épocas volta a aumentar ficando com valores

semelhantes a redes com menos unidades e ligações: as redes designadas por a20 e a14

têm valores idênticos em relação ao número de épocas de treino e superiores aos obtidos

para a15.

Com base na velocidade de convergência considera-se que a rede a15 é a mais

adequada para resolver este tipo de problema. No entanto, esta consideração poderá não

ser a correcta, tendo em conta que o critério de paragem da aprendizagem é baseado no

erro quadrático médio obtido para o conjunto de treino de reduzida dimensão.

Para não eliminar todas as outras redes, apenas com base nestes testes, são

seleccionadas algumas das redes (lc1, lc2, a10, a14, a15) para se proceder a novos

testes. As duas primeiras redes (lc1 e lc2) são escolhidas por terem o número de pesos

bastante inferior ao de qualquer outra rede, e a rede a14 por ter o número de pesos

semelhante ao da rede a15. Finalmente a rede a10 é também seleccionada por se

encontrar entre as duas primeiras (lc1 e lc2) e as duas últimas (a14 e a15), em relação ao

número de pesos.

Page 20: Redes Neuronais e Reconhecimento de Caracteres · classificação dos caracteres; (d) ... sobre a imagem digital do ... representação das imagens pode ser em níveis de cinzento

16

Para cada rede seleccionada escolhe-se o vector de pesos que leva mais depressa

o treino ao menor erro quadrático médio para o conjunto de validação e procede-se, para

cada uma, à continuação da aprendizagem, terminada anteriormente por atingir o valor

de erro quadrático médio igual a 0,01. O critério para terminar esta aprendizagem

baseia-se no valor mínimo do erro quadrático médio para o conjunto de validação.

Rede Erro quadrático médio mínimo

p/ conj. de validação

No de Épocas Erro quadrático médio

p/ conjunto de treino

lc1 0,009475 6487 0,007095

lc2 0,008247 300 0,006397

a10 0,004328 132 0,000560

a14 0,005312 180 0,001228

a15 0,003319 210 0,000258

Tabela 5.4 - Valores do no de épocas de treino e do erro quadrático médio para o conjunto de treino ao

terminar a aprendizagem com o valor mínimo de erro quadrático médio para o conjunto de validação.

Na tabela 5.4 apresentam-se os resultados da aprendizagem para as redes

seleccionadas e sua análise favorece a escolha da rede a15 por ter o menor valor do erro

quadrático médio para o conjunto de validação. Observa-se, ainda para a rede a15, que o

valor do erro quadrático médio obtido para o conjunto de treino é também o menor valor

verificado.

Page 21: Redes Neuronais e Reconhecimento de Caracteres · classificação dos caracteres; (d) ... sobre a imagem digital do ... representação das imagens pode ser em níveis de cinzento

17

6. Aprendizagem da Rede com a Topologia Escolhida

Nos ensaios anteriores são usados subconjuntos de treino e de validação cruzada

a fim de minimizar o tempo de simulação para a escolha da topologia. Para proceder à

aprendizagem final da rede seleccionada, a15, altera-se a constituição dos conjuntos de

treino e de teste definidos em 5.2. de modo a serem usados todos os elementos

disponíveis do conjunto de dados. Alguns dos parâmetros da aprendizagem são

alterados por se verificarem melhores resultados.

6.1 Conjuntos de treino e de teste

Em [5] a rede utilizada, para resolver um problema semelhante, totaliza cerca de

11.000 pesos independentes entre si, com: 270 unidades de entrada, 40 unidades na

camada escondida (com todas as ligações para as camadas de entrada e de saída) e 10

unidades de saída. A dimensão do conjunto de treino utilizado é da mesma ordem de

grandeza dos pesos, cerca de 9.300 dígitos, sendo o conjunto de teste constituído por

2000 dígitos aproximadamente. Com esta relação, entre a dimensão do conjunto de

treino e o número de pesos, a rede mostra ter capacidade de generalização em 94% do

conjunto de teste.

No trabalho [1], tendo em consideração a relação anterior, a dimensão do

conjunto de treino é também da mesma ordem de grandeza do número de pesos

independentes: 895 pesos na rede e 1240 dígitos em 40 cheques. O conjunto de teste tem

30 cheques (930 dígitos) e na validação cruzada são usados 16 cheques do conjunto de

teste (496 dígitos).

Nas figuras 6.1 e 6.2 apresentam-se algumas sequências de imagens dos

conjuntos de treino e de teste, respectivamente. O ponto a negro, que antecede cada

imagem de caracter, define o canto inferior esquerdo da fronteira do caracter de

dimensões fc igual a 8 x 6 pixel. Estes pontos facilitam a leitura da figura mas não

pertencem às imagens dos caracteres.

Page 22: Redes Neuronais e Reconhecimento de Caracteres · classificação dos caracteres; (d) ... sobre a imagem digital do ... representação das imagens pode ser em níveis de cinzento

Fig

ura

6.1

- S

equê

ncia

s de

imag

ens

pert

ence

ntes

ao

conj

unto

de

trei

no.

Page 23: Redes Neuronais e Reconhecimento de Caracteres · classificação dos caracteres; (d) ... sobre a imagem digital do ... representação das imagens pode ser em níveis de cinzento

Fig

ura

6.2

- S

equê

ncia

s de

imag

ens

pert

ence

ntes

ao

conj

unto

de

test

e.

Page 24: Redes Neuronais e Reconhecimento de Caracteres · classificação dos caracteres; (d) ... sobre a imagem digital do ... representação das imagens pode ser em níveis de cinzento

20

6.2 Parâmetros da aprendizagem

Os valores dos parâmetros da aprendizagem são apresentados na tabela 6.1.

Alguns destes valores são alterados em relação aos valores utilizados na aprendizagem

para a escolha da topologia (definidos na tabela 6.2) por se verificarem melhores

resultados: o parâmetro α influenciando positivamente a velocidade de aprendizagem e

o parâmetro t aumentando a tolerância devido a erros de precisão de cálculo.

Entradas xj [-0,5 ; 0,5]

Saída activa desejada di 0,5

Saída inactiva desejada dk -0,5

Pesos iniciais, gerados aleatoriamente wij dist. uniforme em

[-0,3 ; 0,3]

Função de activação f(si) 2/π⋅atan(si)

Coeficientes de aprendizagem iniciais ηij 0,005

Constante de aumento de η u 1,2

Constante de redução de η d 0,8

Constante do termo de momento α 0,7

Tolerância do erro t 1,05

N.o de “falsas” iterações para a redução de η f 3

Redução de η se o n.o de falsas iterações ≥ f r 0,5

Tabela 6.1 - Parâmetros da aprendizagem da rede neuronal a15.

Page 25: Redes Neuronais e Reconhecimento de Caracteres · classificação dos caracteres; (d) ... sobre a imagem digital do ... representação das imagens pode ser em níveis de cinzento

21

6.3 Critério de paragem da aprendizagem

O critério para terminar a aprendizagem final da rede a15 baseia-se no valor

mínimo do erro quadrático médio para o conjunto de validação. Ao fim de 180 épocas

de treino o erro quadrático médio para o conjunto de validação é igual a 0,002086 e para

o conjunto de treino é igual a 0,000809, como se observa na tabela 6.2.

Treino Erro quadrático médio mínimo

p/ conj. de validação

No de Épocas Erro quadrático médio

p/ conjunto de treino

1 o 0,003319 210 0,000258

2 o 0,002086 180 0,000809

Tabela 6.2 - Resultados da aprendizagem da rede a15 com os novos conjuntos de treino e de validação em

comparação com os resultados da aprendizagem anterior referidos em 5.2 na tabela 6.4.

Devido ao valor do erro quadrático médio para o conjunto de validação, a nova

aprendizagem garante maior capacidade de generalização da rede, apesar do valor do

erro quadrático médio para o conjunto de treino ser maior do que o obtido na primeira

aprendizagem da rede (descrita em 5.2).

6.4 Selecção da saída da rede neuronal

A selecção da saída activa de entre as 10 saídas da rede neuronal é realizada

determinando qual a saída que toma o valor máximo. Deste modo, a saída activa pode

tomar valores negativos ou não ser a única saída a tomar valores positivos,

maximizando o número de dígitos classificados.

No entanto, é importante que o sistema rejeite os dígitos em vez de os classificar

incorrectamente. O objectivo não é minimizar o número de erros nem maximizar o

número de caracteres classificados, mas sim minimizar o custo de toda a operação, o

Page 26: Redes Neuronais e Reconhecimento de Caracteres · classificação dos caracteres; (d) ... sobre a imagem digital do ... representação das imagens pode ser em níveis de cinzento

22

que implica uma relação de compromisso entre os valores percentuais de erro e de

rejeição de dígitos.

Assim, para diminuir a percentagem de erro, o classificador rejeita a imagem do

dígito, se as condições definidas em (6.1) não se verificarem [6].

y t

y t

y y td

1 1

2 2

1 2

><− >

⎧⎨⎪

⎩⎪

(6.1)

Em (6.1) y1 e y2 são respectivamente o valor máximo e o valor imediatamente

inferior ao máximo e t1, t2, e td são valores limiares de decisão (thresholds). Estes

valores limiares de decisão são definidos analisando o seu significado através da figura

6.3, onde os valores desejados para as saídas activa e inactiva são, respectivamente, +A

e -A.

-A +Ay1y2 0t1 t2

y1 - y2

Figura 6.3 - Definição dos valores limiares de decisão para rejeitar a imagem do dígito.

Através da figura 6.3 observa-se que t1 e t2 são os limites inferior e superior,

respectivamente para o valor máximo y1 e o valor imediatamente inferior ao máximo y2

e que td define a distância mínima entre os dois valores y1 e y2, permitindo que os

intervalos possíveis para estes se possam sobrepor. Os valores atribuídos aos limiares de

decisão são determinados sobre o conjunto de teste de forma a que o valor percentual de

dígitos errados diminua sem aumentar substancialmente o valor percentual de dígitos

rejeitados (de modo a evitar mais do que um dígito não classificado por cheque).

Esta condição verifica-se experimentalmente para os valores descritos na tabela

6.3, onde A representa o valor desejado para a saída activa (de acordo com a tabela 6.1,

igual a 0,5).

Page 27: Redes Neuronais e Reconhecimento de Caracteres · classificação dos caracteres; (d) ... sobre a imagem digital do ... representação das imagens pode ser em níveis de cinzento

23

Limiar Valor Justificação do valor

t1 -0,1 A - 60% de (2A)

t2 0,1 -A + 60% de (2A)

td 0,2 20% de (2A)

Tabela 6.3 - Valores dos limiares de decisão t1, t2 e td para rejeitar a imagem do dígito.

6.5 Resultados obtidos

O sistema classificador poderá reconhecer os caracteres correctamente,

incorrectamente ou ainda falhar o reconhecimento do caracter, rejeitando a imagem que

tem como entrada. Para comparar os resultados obtidos com a selecção da saída da rede,

com e sem rejeição de dígitos, são apresentados na tabela 6.4 o número de dígitos

errados e o número de dígitos não classificados à saída do classificador para o conjunto

de teste. Os resultados obtidos com o conjunto de treino não são apresentados na tabela

6.4 uma vez que os dígitos do conjunto (1240 dígitos em 40 cheques) são todos

classificados correctamente.

sem rejeição

de dígitos

com rejeição de dígitos

t1 = -0,1 t2 = 0,1 td = 0,2

dígitos errados 4 3

dígitos não classificados - 8

Tabela 6.4 - Resultados da classificação dos dígitos do conjunto de teste (930 dígitos em 30 cheques) com

a rede a15.

Através da análise dos resultados constata-se que o número de dígitos errados

diminui se a selecção da saída activa rejeitar imagens. Assim, esta função de selecção da

saída activa contribui para melhorar o desempenho global do sistema, sabendo que o

Page 28: Redes Neuronais e Reconhecimento de Caracteres · classificação dos caracteres; (d) ... sobre a imagem digital do ... representação das imagens pode ser em níveis de cinzento

24

módulo de pós-processamento, que se segue ao classificador, recupera alguns casos de

dígitos não classificados.

A tabela 6.5 resume os resultados obtidos com a classificação: a correcta

identificação (na diagonal principal), a identificação incorrecta (nas colunas verticais) e

as imagens que foram rejeitadas na classificação (na última linha da tabela).

dígito reconhecido �

imagem �

a reconhecer 0 1 2 3 4 5 6 7 8 9

‘0’ 285 1

‘1’ 125

‘2’ 99 1

‘3’ 76

‘4’ 48

‘5’ 74

‘6’ 42 1

‘7’ 54

‘8’ 57

‘9’ 59

‘*’ 2 1 1 1 1 1 1

Tabela 6.5 - Resultados da classificação de cada caracter do conjunto de teste (930 dígitos em

30 cheques) com a rede a15.

Page 29: Redes Neuronais e Reconhecimento de Caracteres · classificação dos caracteres; (d) ... sobre a imagem digital do ... representação das imagens pode ser em níveis de cinzento

25

Analisando a tabela 6.5 observa-se que todas as imagens dos dígitos ‘0’ e ‘9’ são

classificadas correctamente, enquanto que algumas imagens dos restantes dígitos são

classificadas incorrectamente ou rejeitadas (representadas com o caracter ‘*’).

Dígitos

sem rejeição

de dígitos

com rejeição de dígitos

t1 = -0,1 t2 = 0,1 td = 0,2

correctamente classificados 99,57% 98,82%

incorrectamente classificados 0,43% 0,32%

não classificados - 0,86%

Tabela 6.6 - Resultados, em valores percentuais, da classificação dos dígitos do conjunto de teste

(930 dígitos em 30 cheques) com a rede a15.

Veja-se, na tabela 6.6, que a percentagem de caracteres classificados

incorrectamente diminui com a rejeição de dígitos. Note-se também que a percentagem

de caracteres classificados correctamente diminui, contudo este resultado melhorará

com a recuperação no pós-processamento de alguns dos dígitos rejeitados.

Na maior parte dos casos existe uma explicação razoável para o insucesso da

classificação [5]. O problema maior deve-se à segmentação incorrecta: melhorando a

segmentação aumenta-se a eficiência global do sistema, mas exige processamento

adicional, não desprezável na resolução deste problema. Outros casos possíveis serão

devidos à representação não completa do conjunto de treino que ao ser aumentado, com

maior representação, reduziria o número de falhas.

Figura 6.4 - Ilustração de imagens do conjunto de teste classificadas incorrectamente ou rejeitadas.

Em alguns casos as imagens são ambíguas até para o ser humano, e a

percentagem de erro e de rejeição devido a estas imagens dificilmente se consegue

Page 30: Redes Neuronais e Reconhecimento de Caracteres · classificação dos caracteres; (d) ... sobre a imagem digital do ... representação das imagens pode ser em níveis de cinzento

26

diminuir. Na figura 6.4 ilustram-se algumas imagens do conjunto de teste que foram

incorrectamente classificadas ou rejeitadas; vejam-se, como exemplo, as duas primeiras

imagens, da esquerda para a direita, que representam respectivamente os dígitos ‘3’ e

‘8’.

Page 31: Redes Neuronais e Reconhecimento de Caracteres · classificação dos caracteres; (d) ... sobre a imagem digital do ... representação das imagens pode ser em níveis de cinzento

27

7. Comentários

Os resultados descritos nas tabelas 7.5 e 7.6 são relativos ao desempenho do

classificador, e não reflectem o desempenho global do sistema, uma vez que sequências

com 1 dígito errado (ou com 1 dígito não classificado) são detectadas (ou recuperadas)

na fase de pós-processamento. No entanto, para melhorar o desempenho global do

reconhecedor dos caracteres impressos na linha óptica do cheque bancário, deverão ser

consideradas as acções seguintes na aprendizagem do classificador e na classificação:

• Treinar a rede neuronal com indicação do erro obtido depois da selecção da saída

mais activa da rede.

• Calcular os valores limiares t1, t2 e td com base nos resultados obtidos para cada

sequência de dígitos, do conjunto de teste, depois do pós-processamento (com

detecção de erros e recuperação de omissões).

• Inserir na topologia da rede neuronal a informação da posição do dígito na linha

óptica, analisando os resultados obtidos com diferentes representações do seu

valor e com diferentes ligações na rede.

• Treinar a rede neuronal com indicação dos erros obtidos no cheque (sequência

de 31 dígitos) antes e/ou depois da detecção de erros.

• Implementar a classificação adaptativa sugerida em [3], através da inserção de

informação na rede neuronal pelo módulo de pós-processamento, quando o

cheque é reconhecido com sucesso. Esta informação é importante no caso em

que o classificador não reconheceu um dígito, recuperado posteriormente no

pós-processamento; através da indicação da classe correcta do dígito a rede

adapta-se de modo a diminuir a percentagem de dígitos não classificados.

Todavia, é necessário verificar e ponderar os efeitos deste procedimento,

nomeadamente a possibilidade da percentagem de dígitos errados aumentar.

Page 32: Redes Neuronais e Reconhecimento de Caracteres · classificação dos caracteres; (d) ... sobre a imagem digital do ... representação das imagens pode ser em níveis de cinzento

28

7.1 Resultados obtidos com as imagens em níveis de cinzento

Para analisar os resultados obtidos com a rede a15, representando as imagens

dos caracteres em níveis de cinzento, procede-se à aprendizagem da rede (com o

conjunto de treino em níveis de cinzento). Na tabela 7.1 observa-se o valor do erro

quadrático médio mínimo para o conjunto de validação, juntamente com o valor do erro

quadrático médio para o conjunto de treino e o número de épocas de treino.

Erro quadrático médio mínimo

p/ conj. de validação

No de Épocas Erro quadrático médio

p/ conjunto de treino

0,001380 180 0,000206

Tabela 7.1 - Resultados da aprendizagem da rede a15 treinada com as imagens definidas em 256 níveis de

cinzento.

Comparando os valores da tabela 7.1 com os da tabela 7.2, verifica-se que,

apesar da escolha da topologia ser efectuada com base nas imagens em níveis binários,

os valores do erro quadrático médio para os conjuntos de validação e de treino são

menores para as imagens em níveis de cinzento. Estes resultados são esperados uma vez

que a representação em níveis de cinzento não perde informação importante para a

extracção de características e classificação efectuadas pela rede neuronal.

No entanto, os resultados da classificação, apresentados na tabela 7.2, não se

mostram superiores aos anteriores (apresentados na tabela 7.4).

sem rejeição

de dígitos

com rejeição de dígitos

t1 = -0,1 t2 = 0,1 td = 0,2

dígitos errados 7 6

dígitos não classificados - 5

Tabela 7.2 - Resultados da classificação do conjunto de teste (930 dígitos em 30 cheques) com a rede a15

treinada com as imagens definidas em 256 níveis de cinzento.

Page 33: Redes Neuronais e Reconhecimento de Caracteres · classificação dos caracteres; (d) ... sobre a imagem digital do ... representação das imagens pode ser em níveis de cinzento

29

O número de dígitos errados, obtido com as imagens em níveis de cinzento,

duplica em relação ao número obtido com as imagens binárias (de 3 para 6 dígitos

errados). Para justificar esta diferença, é importante reafirmar que a escolha da topologia

(rede a15) é realizada com os padrões definidos em níveis binários e portanto não será a

rede mais adequada para classificar os padrões definidos em níveis de cinzento.

Page 34: Redes Neuronais e Reconhecimento de Caracteres · classificação dos caracteres; (d) ... sobre a imagem digital do ... representação das imagens pode ser em níveis de cinzento

30

8. Referências

[1] Isabel Milho, “Reconhecimento de Caracteres Impressos em Documentos

Financeiros Normalizados”, dissertação para obtenção do grau de Mestre em

Engenharia Electrotécnica e de Computadores, Instituto Superior Técnico, Abril

de 1997.

[2] Isabel Milho, Fernando Sousa, José M. N. Leitão, "A System for Printed

Character Recognition on Normalized Financial Documents", Proceedings of the

9th Portuguese Conference on Pattern Recognition RECPAD’97, pp. 161-167,

March 1997.

[3] G. Nagy, “At the Frontiers of OCR”, Proceedings of IEEE, Vol. 80, No. 7,

pp. 1093-1100, July 1992.

[4] Robert J. Schalkoff, Pattern Recognition: Statistical, Structural and Neural

Approaches, John Wiley & Sons, 1992.

[5] Y. Le Cun, L. D. Jackel, B. Boser, J. S. Denker, H. P. Graf, I. Guyon,

D. Henderson, R. E. Howard, and W. Hubbard, “Handwritten Digit Recognition:

Applications of Neural Net Chips and Automatic Learning”, IEEE

Communications Magazine, pp. 41-46, November 1989.

[6] J. S. Denker, W. R. Gardner, H. P. Graf, D. Henderson, R. E. Howard, W.

Hubbard, L. D. Jackel, H. S. Baird, and I. Guyon, “Neural Network Recognizer

for Hand-Written Zip Code Digits”, Advances in Neural Information Processing

Systems, Vol. I, D. Touretzky (editor), Morgan Kaufmann Publishers, 1989.

[7] Y. Le Cun, B. Boser, J. S. Denker, D. Henderson, R. E. Howard, W. Hubbard, L.

D. Jackel, “Handwritten Digit Recognition with a Back-Propagation Network”,

Advances in Neural Information Processing Systems, Vol. II, D. Touretzky

(editor), Morgan Kaufmann Publishers, 1990.

[8] Simon Haykin, Neural Networks: A Comprehensive Foundation, IEEE Press,

1994.

Page 35: Redes Neuronais e Reconhecimento de Caracteres · classificação dos caracteres; (d) ... sobre a imagem digital do ... representação das imagens pode ser em níveis de cinzento

31

[9] Fernando M. Silva, Luís B. Almeida, “Acceleration Techniques for the

Backpropagation Algorithm”, Neural Networks EURASIP Workshop

Proceedings, Springer-Verlag, 1990.

[10] Anil K. Jain, Jianchang Mao, “Artificial Neural Networks: A Tutorial”,

Computer, Vol. 29, No. 3, pp. 31-44, March 1996.

[11] D. E. Rumelhart, G. E. Hinton and R. J. Williams, “Learning Internal

Representations by Error Propagation”, Parallel Distributed Processing:

Explorations in the Microstructure of Cognition, MIT Press, 1986.

[12] Athanasios Papoulis, Probability, Random Variables and Stochastic Processes,

Third Edition, McGraw-Hill, 1991.

[13] John Hertz, Anders Krogh and Richard G. Palmer, Introduction to the Theory of

Neural Computation, Addison-Wesley, 1991.