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
MMA-AC-Francisco Moço 2
Reconhecimento de Padrões
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çãoTestar e testar o processo de formas diferentes 6. Conhecimento
MMA-AC-Francisco Moço 4
Recolha de Dados
38 Participantes
6x cada dígito
10 dígitos
=2280 d
=2280 d
í
í
gitos
gitos
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…)
MMA-AC-Francisco Moço 6
Base de dados
Optical Recognition of Handwritten Digits Data Set
Preprocessamento dos dados
0 1 6 15 12 1 0 0 0 7 16 6 6 10 0 0 0 8 16 2 0 11 2 0 0 5 16 3 0 5 7 0 0 7 13 3 0 8 7 0 0 4 12 0 1 13 5 0 0 0 14 9 15 9 0 0 0 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 CLASSE 64 ATRIBUTOS +
Σ
Σ
Σ
Σ
Σ
Σ
Σ
Σ
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
MMA-AC-Francisco Moço 8
Selecção de Atributos
FSS
FSS
-
-
Feature
Feature
Sub
Sub
-
-
Selection
Selection
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 Gen
Algoritmos Gen
é
é
ticos (
ticos (
M
M
é
é
todos Heur
todos Heur
í
í
sticos
sticos
)
)
Algoritmos Genéticos
Gene – smallest unit with
genetic information
Genotype – collectivity of
all genes
Phenotype – expression of
genotype in environment
Individual – single member
of a population with
genotype and phenotype
Population – set of several
individuals
Generation – 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 Genotype Phenotype Fitness Gene Função
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
Selecção de Cromossomas
Rank based (Ordem)
MMA-AC-Francisco Moço 14
Operador -
Cruzamento
One Point Crossover Two Point Crossover Uniform Crossover Dois progenitores
produzem dois offsprings
Há probabilidade de que os cromossomas de dois pais sejam copiados sem alterações como offsprings
Há probabilidade de que os
cromossomas de dois pais sejam combinados
aleatoriamente para formar offsprings
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.
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
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.
O Problema (GA + RNA)
!
MMA-AC-Francisco Moço 20
Classificação com Redes Neuronais
O PERCEPTRON O PERCEPTRON
bias
Entradas:
x
1, x
2, …, x
nDiscriminante Linear (Exemplo)
R R11 R
R22
Se os exemplos do conjunto de treino são linearmente separáveis podemos 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.
RNA DE MÚLTIPLAS CAMADAS
VANTAGENS VANTAGENS
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.
RNA DE MÚLTIPLAS CAMADAS
Cada neur
Cada 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
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
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 X=(xX 1, x2, …, xn)
t
t=(t1, t2, …, tn) t
MMA-AC-Francisco Moço 28
O Algoritmo de Aprendizagem – parte I
x1 xi xn z1 zj zp … … … … y1 yk ym … … v0j - bias vij f(zf(zinin jj)) w0j - bias FEEDFORWARD wik f(yin k)
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 Erro no neurónioErro 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)
APRENDIZAGEM
Actualiza
Actualizaççã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 .
Regra do Delta
Obter o ponto mmínimoínimo 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(w)E(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 learning rule for updating the weights of the artificial neurons in a single-layer perceptron.
MMA-AC-Francisco Moço 34
Coeficiente de Aprendizagem (
η
η
η
η
)
Quanto menor Quanto menor ηηηη, menores são as variações de wηηηη ji 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) Solu
Soluçção ão :
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 38
MMA-AC-Francisco Moço 40 R E D E N E U R ON A L
Filter Approach
A LG OR IT M O GE N Á T IC OCom 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 Classification Performance, 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
Com o WEKA
Implementei no WEKA as operações de SelecSelecçção de ão de Atributos
Atributos, 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.
Que aprendeu?
Foi induzida uma RN
taxa de aprendizagem=0.3 momento=0.2
MMA-AC-Francisco Moço 46
Comparações
MMA-AC-Francisco Moço 48
MMA-AC-Francisco Moço 50