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
MMA-AC-Francisco Moço 2
Reconhecimento de PadrõesReconhecimento de Padrões
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
MMA-AC-Francisco Moço 4
Recolha de Dados38 Participantes
6x cada dígito
10 dígitos
=2280 d=2280 díígitosgitos
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
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 +
ΣΣΣΣΣΣΣΣ
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)
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
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
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
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
MMA-AC-Francisco Moço 12
Roleta (Roulette Wheel) - Selecção
MMA-AC-Francisco Moço 13
Selecção de Cromossomas
� Rank based (Ordem)
� Fitness Based (Aptidão, Fitness)
MMA-AC-Francisco Moço 14
Outros métodos de selecção
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
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
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
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.
MMA-AC-Francisco Moço 19
O Problema (GA + RNA)
!!
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
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
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.
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)
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.
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.
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
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
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)
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
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)
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)
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
.
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
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
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.
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
MMA-AC-Francisco Moço 37
Exemplo
MMA-AC-Francisco Moço 38
Exemplo(cont.)
MMA-AC-Francisco Moço 39
Exemplo(cont.)
MMA-AC-Francisco Moço 40
RE
DE
NE
UR
ON
AL
Filter Approach
ALG
OR
ITM
O G
EN
ÁT
ICO
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%.
MMA-AC-Francisco Moço 42
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.
MMA-AC-Francisco Moço 44
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
MMA-AC-Francisco Moço 46
Comparações
a) Não observado
MMA-AC-Francisco Moço 47
Comparações
MMA-AC-Francisco Moço 48
Entre Classificadores
MMA-AC-Francisco Moço 49
MMA-AC-Francisco Moço 50
Um caso problemático
MMA-AC-Francisco Moço 51
Outros Classificadores (RN)
�� LRFLRF
�� RBF RBF
�� ConvolutionalConvolutional (LeNet5)(LeNet5)
http://yann.lecun.com/exdb/lenet/index.html