51
Reconhecimento de Caracteres Reconhecimento de Caracteres Com Redes Neuronais Com Redes Neuronais APRENDIZAGEM COMPUTACIONAL 2007/2008 2º Semestre Francisco Moço Trabalhos 1 e 2 Trabalhos 1 e 2

Reconhecimento de Caracteres com Redes Neuronais

Embed Size (px)

Citation preview

Page 1: Reconhecimento de Caracteres com Redes Neuronais

Reconhecimento de Caracteres Reconhecimento de Caracteres Com Redes NeuronaisCom Redes Neuronais

APRENDIZAGEM COMPUTACIONAL 2007/2008

2º Semestre

Francisco Moço

Trabalhos 1 e 2Trabalhos 1 e 2

Page 2: Reconhecimento de Caracteres com Redes Neuronais

MMA-AC-Francisco Moço 2

Reconhecimento de PadrõesReconhecimento de Padrões

Page 3: Reconhecimento de Caracteres com Redes Neuronais

MMA-AC-Francisco Moço 3

Um Problema de KDD

1. Selecção de Dados

2. Pré-Processamento

3. Transformação

� Redução da Dimensão

� Selecção de Atributos

4. Extracção

� Modelo de Classificação

� Algoritmo de Aprendizagem

5. Avaliação

� Testar e testar o processo de formas diferentes

6. Conhecimento

Page 4: Reconhecimento de Caracteres com Redes Neuronais

MMA-AC-Francisco Moço 4

Recolha de Dados38 Participantes

6x cada dígito

10 dígitos

=2280 d=2280 díígitosgitos

Page 5: Reconhecimento de Caracteres com Redes Neuronais

MMA-AC-Francisco Moço 5

Pré-Processamento �Segmentação

�Redimensionamento

�32x32 pixel

�Greyscale

�Filtros

�Etc…

128x128 O processo foi criado por Yan Le Cun e T. Mitchell para as BD MNIST e USPS.

(Existe literatura…)

32x32

Page 6: Reconhecimento de Caracteres com Redes Neuronais

MMA-AC-Francisco Moço 6

Base de dadosOptical Recognition of Handwritten Digits Data Set

Preprocessamento dos dados

0 1 6 15 12 1 0 00 7 16 6 6 10 0 00 8 16 2 0 11 2 00 5 16 3 0 5 7 00 7 13 3 0 8 7 00 4 12 0 1 13 5 00 0 14 9 15 9 0 00 0 6 14 7 1 0 0

0, 1, 6, 15, 12, 1, 0, 0, 0, 7, 16, 6, 6, … 7, 1, 0, 0, 00

8x8

1 CLASSE64 ATRIBUTOS +

ΣΣΣΣΣΣΣΣ

Page 7: Reconhecimento de Caracteres com Redes Neuronais

MMA-AC-Francisco Moço 7

Redução da Dimensão (Transformação)

�� Ficheiro com 3823 x 65Ficheiro com 3823 x 65

� 3823 objectos

� 64 atributos

� 1 classe (dígito 0 a 9)

�� PCAPCA

�� PFPF

�� ICAICA

�� HaarHaar WaveletsWavelets

A redução do número de atributos resulta da criação de novos atributos (CL dos originais)

Page 8: Reconhecimento de Caracteres com Redes Neuronais

MMA-AC-Francisco Moço 8

Selecção de Atributos

�� FSS FSS -- FeatureFeature SubSub--SelectionSelection

�� FiltrosFiltros

Removem atributos irrelevantes do conjunto de atributos

original, antes de aplicar o Algoritmo de Aprendizagem

�� WrappersWrappers

Utilizam o o próprio Algoritmo de Aprendizagem para

escolher o conjunto de atributos mais relevante

�� Algoritmos GenAlgoritmos Genééticos (ticos (MMéétodos Heurtodos Heuríísticossticos))

�� NeocognitronNeocognitron

Page 9: Reconhecimento de Caracteres com Redes Neuronais

MMA-AC-Francisco Moço 9

Algoritmos GenéticosGene – smallest unit with genetic informationGenotype – collectivity of all genesPhenotype – expression of genotype in environmentIndividual – single member of a population with genotype and phenotypePopulation – set of several individualsGeneration – one iteration of evaluation, selection and reproduction with variation

Page 10: Reconhecimento de Caracteres com Redes Neuronais

MMA-AC-Francisco Moço 10

Genes, Genotipos e Fenotipos

00010101 00111010 11110000

00010001 00111011 10100101

00100100 10111001 01111000

11000101 01011000 01101010

0.67

0.23

0.45

0.94

3021 3058 3240

3017 3059 3165

3036 3185 3120

3197 3088 3106

GenotypePhenotype Fitness

Gene

� Função

Ex: Genetic coding and mapping

Page 11: Reconhecimento de Caracteres com Redes Neuronais

MMA-AC-Francisco Moço 11

Feature “weighting” para criar uma “pool”

0 1 6 15 12 1 0 0 0 7 16 6 6 0 1 6 15 12 1 0 0 0 7 16 6 6 …… 7 1 0 0 7 1 0 0 00

0 0 1 0 1 1 0 1 0 1 1 1 1 0 0 1 0 1 1 0 1 0 1 1 1 1 …… 0 1 0 0 0 1 0 0

String binária aleataleatóóriaria

(CROMOSSOMA)

POPULAÇÃO

Atributos seleccionados

Comprimento N

Page 12: Reconhecimento de Caracteres com Redes Neuronais

MMA-AC-Francisco Moço 12

Roleta (Roulette Wheel) - Selecção

Page 13: Reconhecimento de Caracteres com Redes Neuronais

MMA-AC-Francisco Moço 13

Selecção de Cromossomas

� Rank based (Ordem)

� Fitness Based (Aptidão, Fitness)

Page 14: Reconhecimento de Caracteres com Redes Neuronais

MMA-AC-Francisco Moço 14

Outros métodos de selecção

Page 15: Reconhecimento de Caracteres com Redes Neuronais

MMA-AC-Francisco Moço 15

Operador - Cruzamento

� One Point Crossover

� Two Point Crossover

� Uniform Crossover

� Dois progenitoresproduzem dois offsprings

� Há probabilidade de queos cromossomas de doispais sejam copiados semalterações como offsprings

� Há probabilidade de que oscromossomas de dois paissejam combinadosaleatoriamente para formaroffsprings

0,6 < Probab. Crossover < 1,0

Page 16: Reconhecimento de Caracteres com Redes Neuronais

MMA-AC-Francisco Moço 16

Operador - Mutação

� Há a probabilidade de que os genes de um descendente sejam alteardos aleaóriamente.

� A Probabilidade de mutação é pequena.

Probab. Mutation ≈≈≈≈ 0,001

Page 17: Reconhecimento de Caracteres com Redes Neuronais

MMA-AC-Francisco Moço 17

Controlo - Fitness Function

Objectivo

� Selecção Parental

� Medida de Convergência

� Deve reflectir o valor do cromossoma de uma forma “real”

� Serve de critério de paragem

Problemas

� super-fit - valor máximo original muito alto

� super-unfit - valor mínimo original muito baixo

Page 18: Reconhecimento de Caracteres com Redes Neuronais

MMA-AC-Francisco Moço 18

Valores obtidos no RapidMiner

FS Correlation (alto) significa existe um alto grau de correlação entre os atributos e a classe e um baixo grau de correlação entre os atributos.

Page 19: Reconhecimento de Caracteres com Redes Neuronais

MMA-AC-Francisco Moço 19

O Problema (GA + RNA)

!!

Page 20: Reconhecimento de Caracteres com Redes Neuronais

MMA-AC-Francisco Moço 20

Classificação com Redes Neuronais

O PERCEPTRONO PERCEPTRON

bias

� Entradas: x1, x2, …, xn

� Pesos Sinápticos: w1, w2, …, wn

Page 21: Reconhecimento de Caracteres com Redes Neuronais

MMA-AC-Francisco Moço 21

Discriminante Linear (Exemplo)

RR11

RR22

Se os exemplos do conjunto de treino são linearmente separáveispodemos aprender uma função discriminante linear para usar como

classificador de futuros exemplos

� �

��

��

��

� �

�Fronteira de decisão g(x)=0

g(x)>0 ⇒ x ∈R1 (Classe 1)

g(x)<0 ⇒ x ∈R2 (Classe 2)

W=(w1, w2)=(0.9,2.0)

desvio

Page 22: Reconhecimento de Caracteres com Redes Neuronais

MMA-AC-Francisco Moço 22

FUNÇÃO DE ACTIVAÇÃO

� A função de activação deve ser diferenciável

� Geralmente têm não-linearidade suave (não abrupta)

� Mais utilizadas:

� Função Logística (Sigmóide)

� Tangente Hiperbólica.

Page 23: Reconhecimento de Caracteres com Redes Neuronais

MMA-AC-Francisco Moço 23

RNA DE MÚLTIPLAS CAMADAS

VANTAGENSVANTAGENS

� Muito utilizadas para resolver problemas complexos

� Geralmente, treinadas com supervisão através do

algoritmo de retropropagação do erro (back-propagation)

� Cada neurónio inclui uma funfunçção de activaão de activaçção não linearão não linear

� Uma ou mais camadas ocultas de neurónios

� Alto grau de conectividade.

Redes de múltiplas camadas alimentadas adiante

(feedforward multilayer neural networks)

Page 24: Reconhecimento de Caracteres com Redes Neuronais

MMA-AC-Francisco Moço 24

RNA DE MÚLTIPLAS CAMADAS

DESVANTAGENS

� Difícil análise teórica da rede, devido à alta não-linearidade

e conectividade;

� Neurónios ocultos tornam difícil a visualização do processo

de aprendizagem.

Page 25: Reconhecimento de Caracteres com Redes Neuronais

MMA-AC-Francisco Moço 25

RNA DE MÚLTIPLAS CAMADAS

Cada neurCada neuróónio nio éé projectado para realizar duas tarefasprojectado para realizar duas tarefas

� Cálculo do sinal funcional de saída do neurónio, resultado

dos sinais de entrada, bias e pesos sinápticos que foram

aplicados na função de activação;

� Cálculo de uma estimativa do vector gradiente (gradientes

da superfície de erro em relação aos pesos conectados às

entradas de um neurónio), necessário para a

retropropagação através da rede.

Page 26: Reconhecimento de Caracteres com Redes Neuronais

MMA-AC-Francisco Moço 26

APRENDIZAGEM

�� Aprendizagem Aprendizagem éé feita em 3 fases:feita em 3 fases:

1. Envio do estímulo ao longo da rede

2. Cálculo e retropopagação do erro associado

3. Ajuste dos pesos

Page 27: Reconhecimento de Caracteres com Redes Neuronais

MMA-AC-Francisco Moço 27

Notação

�� XX vector de treino

�� tt valores esperados para XX

�� YY vector valores obtidos

� Wjk peso entre Zj e Yk

� Vij peso entre Xi e Zj

� W0k desvio de Yk

� V0j desvio de Zj

� δk erro referente ao neurónio Yk

� δj erro referente ao neurónio Zj

� η coeficiente de aprendizagem XX=(x1, x2, …, xn)

tt=(t1, t2, …, tn)ttargetarget

Page 28: Reconhecimento de Caracteres com Redes Neuronais

MMA-AC-Francisco Moço 28

O Algoritmo de Aprendizagem – parte I

x1

xi

xn

z1

zj

zp

……

……

y1

yk

ym

……

v0j - bias

vijf(zf(zinin jj))

w0j - bias

FEEDFORWARD

wik

f(yin k)

Page 29: Reconhecimento de Caracteres com Redes Neuronais

MMA-AC-Francisco Moço 29

APRENDIZAGEM

� O Algoritmo de Backpropagation procura valores para os

pesos sinápticos de forma a minimizar o erro total da rede (Função de custo E) sobre o conjunto de treino.

Diferenciação do ErroErro no neurónio

de saída yk em relação a wjk

z1

zj

zp

……

y1

yk

ym

……

t1

tk

tm

wik

f(yin k)

E1

Ek

EN

Page 30: Reconhecimento de Caracteres com Redes Neuronais

MMA-AC-Francisco Moço 30

APRENDIZAGEM

Diferenciação do Erro no neurónio zj em relação a vij

t1

tk

tm

wik

f(yin k)

x1

xi

xn

z1

zj

zp

……

……

y1

yk

ym

……

vij

f(zin j)

Page 31: Reconhecimento de Caracteres com Redes Neuronais

MMA-AC-Francisco Moço 31

APRENDIZAGEM

ActualizaActualizaçção dos pesos (Resumo)ão dos pesos (Resumo)

- Entre a camada de saída e a camada oculta (Wjk)- Entre a camada oculta e a camada de entrada (Vij)

Page 32: Reconhecimento de Caracteres com Redes Neuronais

MMA-AC-Francisco Moço 32

O Algoritmo de Aprendizagem – parte II

x1

xi

xn

z1

zj

zp

……

……

y1

yk

ym

……

BACKPROPAGATION

http://galaxy.agh.edu.pl/~vlsi/AI/backp_t_en/backprop.html

.

Page 33: Reconhecimento de Caracteres com Redes Neuronais

MMA-AC-Francisco Moço 33

Regra do Delta

Obter o ponto mmíínimonimo através de um processo de iteração, utilizando um exemplo do conjunto de treino de cada vez

Partindo de um ponto arbitrário w(kw(k)) pode-se caminhar pela superfície E(wE(w))em direcção ao ponto mínimo, bastando para isso evoluir sempre no sentido oposto ao do gradiente naquele ponto.

The delta rule is a gradient descentgradient descent learningrule for updating the weights of the artificial neurons in a single-layer perceptron.Fonte: Wikipedia.org

Page 34: Reconhecimento de Caracteres com Redes Neuronais

MMA-AC-Francisco Moço 34

Coeficiente de Aprendizagem (ηηηη)

�� Quanto menor Quanto menor ηηηηηηηη, menores são as variações de wji e mais suave é a trajectória no espaço de pesos.

Desvantagem: Aprendizagem lenta

�� Quanto maior Quanto maior ηηηηηηηη, aprendizagem mais rápida, ajustes em wji grandes

Desvantagem: a rede pode tornar-se instável (oscilatória)

SoluSoluçção ão : Inclusão de um termo, na regra do delta, chamado momento

Page 35: Reconhecimento de Caracteres com Redes Neuronais

MMA-AC-Francisco Moço 35

Modos de Treino da RN

� Modo Sequencial (SEQ): a actualização dos pesos é realizada após a apresentação de cada exemplo de treino. Bastante utilizado em problemas de classificação de padrões com muitas repetições (redundantes).

� Modo por Lote (BATCH): O ajuste dos pesos é realizado após a apresentação de todos os exemplos do conjunto de treino, constituindo assim uma época.

Page 36: Reconhecimento de Caracteres com Redes Neuronais

MMA-AC-Francisco Moço 36

Critérios de Paragem

� Supõe-se que o algoritmo de retropropagação tenha convergido quando:� a norma euclidiana do vector gradiente alcançar um valor

suficientemente pequeno.

Desvantagens: tempo de aprendizagem longo e requer o cálculo do vector gradiente dos pesos.

� a taxa absoluta de variação do erro médio quadrado por época for suficientemente pequena.

Desvantagem: pode ter-se uma paragem prematura do processo

Page 37: Reconhecimento de Caracteres com Redes Neuronais

MMA-AC-Francisco Moço 37

Exemplo

Page 38: Reconhecimento de Caracteres com Redes Neuronais

MMA-AC-Francisco Moço 38

Exemplo(cont.)

Page 39: Reconhecimento de Caracteres com Redes Neuronais

MMA-AC-Francisco Moço 39

Exemplo(cont.)

Page 40: Reconhecimento de Caracteres com Redes Neuronais

MMA-AC-Francisco Moço 40

RE

DE

NE

UR

ON

AL

Filter Approach

ALG

OR

ITM

O G

EN

ÁT

ICO

Page 41: Reconhecimento de Caracteres com Redes Neuronais

MMA-AC-Francisco Moço 41

Com o RapidMiner

TREINO

TESTE

TREINO

TESTE

Árvores de operadores em RapidMiner: Simple Validation (Holdout),

XValidation (Cross-validation) e Wrapper Approach Treino e Teste

Não foi possível no RapidMiner obter os resultados esperados para o classificador ClassificationPerformance, sendo substituindo pelo classificador Performance. Este, apenas me devolve os parâmetros, erro quadrado e o erro médio quadrado, valores que me sugerem uma taxa de acerto de entre 97,2 e 98,3%.

Page 42: Reconhecimento de Caracteres com Redes Neuronais

MMA-AC-Francisco Moço 42

Page 43: Reconhecimento de Caracteres com Redes Neuronais

MMA-AC-Francisco Moço 43

Com o WEKA

� Implementei no WEKA as operações de SelecSelecçção de ão de

AtributosAtributos, utilizando os dois tipos de abordagem já referidos

para o RapidMiner, filtersfilters e wrapperwrapper.

� Também neste programa, a conjunção de uma pesquisa

com AG e o classificador MultilayerPerceptron, não são

computacionalmente resolúveis em tempo útil.

� Assim, implementei filters com pesquisa por CFSS e AG.

Page 44: Reconhecimento de Caracteres com Redes Neuronais

MMA-AC-Francisco Moço 44

Page 45: Reconhecimento de Caracteres com Redes Neuronais

MMA-AC-Francisco Moço 45

Que aprendeu?

Foi induzida uma RN taxa de aprendizagem=0.3

momento=0.2

64 entradas + 10 camadas ocultas + 10 saídas

Page 46: Reconhecimento de Caracteres com Redes Neuronais

MMA-AC-Francisco Moço 46

Comparações

a) Não observado

Page 47: Reconhecimento de Caracteres com Redes Neuronais

MMA-AC-Francisco Moço 47

Comparações

Page 48: Reconhecimento de Caracteres com Redes Neuronais

MMA-AC-Francisco Moço 48

Entre Classificadores

Page 49: Reconhecimento de Caracteres com Redes Neuronais

MMA-AC-Francisco Moço 49

Page 50: Reconhecimento de Caracteres com Redes Neuronais

MMA-AC-Francisco Moço 50

Um caso problemático

Page 51: Reconhecimento de Caracteres com Redes Neuronais

MMA-AC-Francisco Moço 51

Outros Classificadores (RN)

�� LRFLRF

�� RBF RBF

�� ConvolutionalConvolutional (LeNet5)(LeNet5)

http://yann.lecun.com/exdb/lenet/index.html