Projeto e Implementação de Circuitos Classificadores Digitais com Controle

Download Report

Transcript Projeto e Implementação de Circuitos Classificadores Digitais com Controle

UFMG – Escola de Engenharia – PPGEE
Projeto e Implementação de Circuitos
Classificadores Digitais com Controle
da Generalização Baseado na Regra
do
Vizinho-mais-próximo Modificada
Autor: Wilian Soares Lacerda
Orientador: Antônio Pádua Braga
Belo Horizonte - 22 de fevereiro de 2006
Sumário
•
•
•
•
•
•
•
•
•
•
•
Introdução
Objetivos
Síntese de circuitos
Controle da generalização
Regra do vizinho-mais-próximo
Métricas de distância
Metodologia de projeto
Seleção das amostras
• Conclusões
Experimentos
• Contribuições
Processador NIOS II
• Propostas de continuidade
Implementação
• Agradecimentos
Tese de doutorado - Universidade Federal de Minas Gerais - Escola de Engenharia - PPGEE
2
Introdução
• Classificadores de padrões são sistemas capazes de
determinar a classe (ou categoria) de uma dada amostra
(ou padrão) dentre um conjunto de categorias conhecidas.
• Aplicações:
 reconhecimento automático da fala;
 identificação de manuscritos e caracteres ópticos;
 identificação de seqüência de DNA;
 reconhecimento de face humana;
 identificação para radar.
Tese de doutorado - Universidade Federal de Minas Gerais - Escola de Engenharia - PPGEE
3
• Classificadores de padrões binários podem ser
implementados em circuitos digitais combinacionais
utilizando um algoritmo de minimização lógica.
• Um algoritmo de minimização lógica gera a função
Booleana com o menor número de produtos (ou somas),
de tal forma que o circuito contenha menos portas lógicas.
• Minimizar o número de entradas por porta AND e o
número total de portas AND em um circuito VLSI é
análogo a minimizar o número de antecedentes por regra e
o número total de regras em uma base de regras em
inteligência artificial.
Tese de doutorado - Universidade Federal de Minas Gerais - Escola de Engenharia - PPGEE
4
• Em problemas de classificação é mais interessante
acertar a resposta para os dados desconhecidos do que
acertar a resposta para os dados conhecidos.
• O classificador deve errar nos dados de treinamento para
acertar mais nos dados desconhecidos.
• Para que um circuito combinacional digital tenha uma
boa capacidade de generalização, não basta apenas utilizar
o minimizador Booleano para o projeto do circuito.
Tese de doutorado - Universidade Federal de Minas Gerais - Escola de Engenharia - PPGEE
5
Objetivos
• Projeto e implementação de circuitos digitais
combinacionais para atuarem como classificadores de
padrões binários com capacidade de generalização.
• Desenvolvimento de um algoritmo de seleção mínima
de amostras baseada na Regra do Vizinho-maispróximo para que a fase de projeto do classificador
necessite de menos recursos de armazenamento e
processamento, e ainda melhorando a capacidade de
generalização.
• Implementação de um sistema classificador de padrões
binários em um circuito embarcado com características
de portabilidade, funcionamento rápido em tempo real
e com treinamento on-line para atuar em problemas
críticos de classificação de padrões.
Tese de doutorado - Universidade Federal de Minas Gerais - Escola de Engenharia - PPGEE
6
Síntese de circuitos digitais
Suponha o conjunto
de dados binários na
forma de tabela:
Entradas: x, y, z
Saída: S
x
0
0
0
y
0
0
1
z
0
1
1
S
1
0
1
0
1
1
1
1
1
1
1
0
0
0
0
1
1
0
1
1
X
0
0
Tese de doutorado - Universidade Federal de Minas Gerais - Escola de Engenharia - PPGEE
7
O mesmo conjunto de dados binários na forma gráfica:
Tese de doutorado - Universidade Federal de Minas Gerais - Escola de Engenharia - PPGEE
8
Métodos para determinação da função
Booleana (algoritmos de minimização lógica):
• Mapa de Karnaugh
• Método tabular de Quine-McCluskey
• Espresso
• BOOM
Tese de doutorado - Universidade Federal de Minas Gerais - Escola de Engenharia - PPGEE
9
Exemplo de cobertura para minimização lógica:
S = y + z´.x´
Tese de doutorado - Universidade Federal de Minas Gerais - Escola de Engenharia - PPGEE
10
Outro exemplo de cobertura:
S = z´.x´ + z´.y + y.x´
Tese de doutorado - Universidade Federal de Minas Gerais - Escola de Engenharia - PPGEE
11
Melhor superfície de separação entre as classes
“quadrado” e “círculo”:
S = z´.x´ + z´.y + y.x´
Tese de doutorado - Universidade Federal de Minas Gerais - Escola de Engenharia - PPGEE
12
Implementação do circuito lógico:
• PAL - Programmable Array Logic
• PLA - Programmable Logic Array
• FPGA - Field Programmable Gate Array
Tese de doutorado - Universidade Federal de Minas Gerais - Escola de Engenharia - PPGEE
13
Controle da generalização
Em uma Máquina de Vetores de Suporte (SVM), o
hiperplano ótimo de separação das classes é
determinado em função das amostras que se encontram
entre as margens (i = C) e nas margens (0 < i < C).
Amostras externas às margens (i = 0) são ignoradas.
Tese de doutorado - Universidade Federal de Minas Gerais - Escola de Engenharia - PPGEE
14
Tese de doutorado - Universidade Federal de Minas Gerais - Escola de Engenharia - PPGEE
15
No treinamento de uma máquina de aprendizado
com técnica de Boosting, os padrões com maior
erro de classificação tem sua probabilidade de
apresentação aumentada. Estes padrões são
justamente aqueles mais próximos da fronteira de
decisão das classes.
Tese de doutorado - Universidade Federal de Minas Gerais - Escola de Engenharia - PPGEE
16
Tese de doutorado - Universidade Federal de Minas Gerais - Escola de Engenharia - PPGEE
17
• É possível controlar a forma da superfície de separação
das classes determinada pelo circuito digital por meio da
escolha seletiva dos dados de projeto (treinamento). Os
dados descartados se tornam don´t care os quais permitem a
expansão dos hipercubos formados durante o processo de
minimização Booleana.
• As melhores amostras são aquelas que estão fora das
margens de separação das classes, porém perto das
margens.
• A superfície de separação não deve ser tão suave a ponto
de privilegiar uma resposta (underfitting), e nem tão
encurvada a ponto de contornar todos os dados de
treinamento (overfitting). Este é o conhecido “dilema entre
a polarização e a variância”.
Tese de doutorado - Universidade Federal de Minas Gerais - Escola de Engenharia - PPGEE
18
Regra do Vizinho-mais-próximo
Suponha um conjunto X de n amostras xi:
X = {x0,x1,...,xn-1}, i = 0,1,...,n-1
onde:
• xi={xi0,xi1,...,xi(d-1)}
• d é a dimensão das amostras de entrada
• cada amostra xi é associada a uma das possíveis classes
• xi  X é a amostra mais perto a um ponto de teste xj (j  i)
A regra do vizinho-mais-próximo (NN) para
classificação de xj é associar a ele o rótulo associado
com xi.
Tese de doutorado - Universidade Federal de Minas Gerais - Escola de Engenharia - PPGEE
19
Exemplo de amostras de valores reais com duas
dimensões e duas classes:
Tese de doutorado - Universidade Federal de Minas Gerais - Escola de Engenharia - PPGEE
20
Regra do Vizinho-mais-próximo:
Tese de doutorado - Universidade Federal de Minas Gerais - Escola de Engenharia - PPGEE
21
Vantagens:
• Simplicidade;
• No caso de grande quantidade de amostras, esta
regra simples tem uma probabilidade de erro a
qual é menor do que o dobro da probabilidade de
erro da regra de Bayes.
Tese de doutorado - Universidade Federal de Minas Gerais - Escola de Engenharia - PPGEE
22
Desvantagens:
• Alto custo de armazenamento das amostras;
• Alto custo no cálculo das distâncias entre as
amostras de treinamento e a amostra desconhecida;
• Depende diretamente da métrica de distância
utilizada;
• A taxa de convergência diminui na medida em que
a dimensionalidade do espaço de características
incrementa.
Tese de doutorado - Universidade Federal de Minas Gerais - Escola de Engenharia - PPGEE
23
Regra do k Vizinho-mais-próximo (k = 3):
Tese de doutorado - Universidade Federal de Minas Gerais - Escola de Engenharia - PPGEE
24
Métricas de distância
• Euclidiana:
• Overlap:
1
2 2
 d

D(a, b)    (a b ) 
k 
 k 1 k
D(a, b)    ak , bk 
d
k 1
0 se ak  bk
 ak , bk   
1 se ak  bk
Tese de doutorado - Universidade Federal de Minas Gerais - Escola de Engenharia - PPGEE
25
• VDM - Value Difference Metric
(Stanfill & Waltz, 1986):
d
C
D(a, b)   p(ci | ak )  p(ci | bk )
k 1 i 1
• Distância de Discriminação
(Alexander, Clarke & Braga, 1994):
d
D ( a, b)    k
k 1
 ak  bk
Pik  1 | z  1  Pik  1
k 
Pz  0
Tese de doutorado - Universidade Federal de Minas Gerais - Escola de Engenharia - PPGEE
26
• Métrica de Bayes (Short & Fukunaga, 1981):
C
D(a, b)   p (ci | a )  p (ci | b)
i 1
p (ci | a ) 
p (a | ci ) p (ci )
C
 p ( a | c ) p (c )
k 1
k
k
Tese de doutorado - Universidade Federal de Minas Gerais - Escola de Engenharia - PPGEE
27
• VDM modificada:
d
C
D(a, b)   p(ci | ak )  p(ci | bk )
k 1 i 1
1
p (ci | xk  0) 
C
• Nova métrica:
d
C
D(a, b)   p(ak | ci )  p(bk | ci )
k 1 i 1
Tese de doutorado - Universidade Federal de Minas Gerais - Escola de Engenharia - PPGEE
28
Metodologia de projeto
• O método proposto para projeto do circuito
classificador digital seleciona os dados de treinamento
que estão fora da margem de separação das classes,
porém perto das margens. O algoritmo de seleção é
baseado na Regra do Vizinho-mais-próximo.
• O subconjunto de dados selecionados é utilizado pelo
algoritmo de minimização Booleana que, pela expansão
dos hipercubos, projeta um classificador com uma
superfície suave de separação das classes (Lacerda &
Braga, 2005).
Tese de doutorado - Universidade Federal de Minas Gerais - Escola de Engenharia - PPGEE
29
Fluxograma da metodologia de projeto proposta:
Dados
iniciais
Seleção das
amostras para
treinamento
(RSR)
Minimizador
Booleano
(Espresso)
Circuito
digital
classificador
Tese de doutorado - Universidade Federal de Minas Gerais - Escola de Engenharia - PPGEE
30
Algoritmo de seleção de amostras (RSR)
1. Obtenção do subconjunto condensado
(Peter Hart, 1968 ; K. Gowda, 1979)
2. Redução do subconjunto condensado
(Geoffrey Gates, 1972)
3. Subconjunto restante (editing, Dennis
Wilson, 1972)
4. Redução do subconjunto restante
(Lacerda & Braga, 2004)
Tese de doutorado - Universidade Federal de Minas Gerais - Escola de Engenharia - PPGEE
31
Dados iniciais (2 classes)
Tese de doutorado - Universidade Federal de Minas Gerais - Escola de Engenharia - PPGEE
32
Etapa 1: Subconjunto condensado
Tese de doutorado - Universidade Federal de Minas Gerais - Escola de Engenharia - PPGEE
33
Etapa 2: Subconj. condensado reduzido
Tese de doutorado - Universidade Federal de Minas Gerais - Escola de Engenharia - PPGEE
34
Etapa 3: Subconjunto restante
Tese de doutorado - Universidade Federal de Minas Gerais - Escola de Engenharia - PPGEE
35
Etapa 4: Subconj. restante reduzido (k=5)
Tese de doutorado - Universidade Federal de Minas Gerais - Escola de Engenharia - PPGEE
36
Experimento com dados
binários sintéticos
•
•
•
•
•
•
•
Dados binários gerados artificialmente
10 conjuntos de dados
2974 amostras em cada conjunto
Amostras de 24 bits de largura
2 classes
Classes com sobreposição espacial
80% dos dados para treinamento e 20% para
teste
Tese de doutorado - Universidade Federal de Minas Gerais - Escola de Engenharia - PPGEE
37
Histograma dos dados sintéticos:
Tese de doutorado - Universidade Federal de Minas Gerais - Escola de Engenharia - PPGEE
38
No próximo gráfico é apresentado o
número médio de acertos de classificação
dos dados de teste utilizando os dados de
treinamento como referência para o kNN,
em diferentes métricas de distância.
Tese de doutorado - Universidade Federal de Minas Gerais - Escola de Engenharia - PPGEE
39
Tese de doutorado - Universidade Federal de Minas Gerais - Escola de Engenharia - PPGEE
40
No próximo gráfico, é apresentado o
número médio de amostras de treinamento
selecionadas pelo algoritmo RSR, em
diferentes métricas de distância.
O parâmetro k é utilizado pelo RSR e
determina a quantidade de amostras
selecionadas.
Tese de doutorado - Universidade Federal de Minas Gerais - Escola de Engenharia - PPGEE
41
Tese de doutorado - Universidade Federal de Minas Gerais - Escola de Engenharia - PPGEE
42
No próximo gráfico, é apresentado o
número médio de acertos de classificação
dos dados de teste utilizando o 1-NN,
tendo como referência os dados de
treinamento selecionados pelo algoritmo
RSR, em diferentes métricas de distância.
O parâmetro k é utilizado pelo RSR e
determina a quantidade de amostras
selecionadas.
Tese de doutorado - Universidade Federal de Minas Gerais - Escola de Engenharia - PPGEE
43
Tese de doutorado - Universidade Federal de Minas Gerais - Escola de Engenharia - PPGEE
44
No próximo gráfico, é apresentado o
número médio de acertos de classificação
dos dados de teste utilizando o circuito
digital gerado com o minimizador
Booleano, tendo como dados de projeto os
dados de treinamento selecionados pelo
algoritmo RSR, em diferentes métricas de
distância.
O parâmetro k é utilizado pelo RSR e
determina a quantidade de amostras
selecionadas.
Tese de doutorado - Universidade Federal de Minas Gerais - Escola de Engenharia - PPGEE
45
K=7
Tese de doutorado - Universidade Federal de Minas Gerais - Escola de Engenharia - PPGEE
46
No próximo gráfico, é apresentado o número
médio de termos de produto do circuito
gerado com o minimizador Booleano, tendo
como dados de projeto os dados de
treinamento selecionados pelo algoritmo
RSR, em diferentes métricas de distância.
O parâmetro k é utilizado pelo RSR e
determina a quantidade de amostras
selecionadas.
Tese de doutorado - Universidade Federal de Minas Gerais - Escola de Engenharia - PPGEE
47
Tese de doutorado - Universidade Federal de Minas Gerais - Escola de Engenharia - PPGEE
48
Resultados obtidos com diferentes métodos para
obtenção da função lógica do circuito digital
classificador com Espresso
Espresso
Acertos
N.produtos
[s]
[%]
Método
N.amostras
Sem filtragem
2380
(100%)
2 ± 0,5
65 ± 3
84,0 ± 1,6
RSR
(k=7,VDMm)
1129±44
(47,4 ±1,8%)
<1
19 ± 1
89,1 ± 1,2
MLP
(32 nodos)
2380
(100%)
6±1
30 ± 2
89,1 ± 1,1
SVM
(rbf,w=10,c=1)
2380
(100%)
5±1
31 ± 1
88,6 ± 0,8
Tese de doutorado - Universidade Federal de Minas Gerais - Escola de Engenharia - PPGEE
49
Processador NIOS II
• Softcore de processador RISC, implementável em
•
•
•
•
•
•
•
•
•
•
•
FPGA da Altera®
Instruções, dados e endereçamento de 32 bits
32 registradores
32 fontes de interrupção
Multiplicação e divisão de 32 bits
Cache configurável de instruções e dados
Módulo de depuração
Ambiente de desenvolvimento Eclipse IDE e C++
Desempenho em torno de 150DMIPS
Facilidade para inclusão de novas instruções
3 versões de softcore: economic, standard e fast
Vários periféricos e controladores disponíveis
Tese de doutorado - Universidade Federal de Minas Gerais - Escola de Engenharia - PPGEE
50
Kit de desenvolvimento da Altera® com FPGA Cyclone II 2C35
Tese de doutorado - Universidade Federal de Minas Gerais - Escola de Engenharia - PPGEE
51
Kit de desenvolvimento da Altera® com FPGA Cyclone II 2C35
Tese de doutorado - Universidade Federal de Minas Gerais - Escola de Engenharia - PPGEE
52
Implementação com NIOS II
em FPGA
Interface JTAG
LCD
RSR
CPU 2
Controle
CPU 1
Memória
comum
Entradas
binárias
PAL
Saída
binária
Espresso
CPU 3
Tese de doutorado - Universidade Federal de Minas Gerais - Escola de Engenharia - PPGEE
53
Tempos de execução
Plataforma
RSR [s]
N. amostras Espresso [s] N. produtos
(k=10,VDM)
PC P4
-
1385
1,8 ± 0,4
37
PC P4
49 ± 2
831
1,0 ± 0,0
13
NIOS II
-
1385
486,5 ± 0,5
37
NIOS II
21403 ± 39
831
425,8 ± 43,6
13
*NIOS II
20097 ± 25
831
425,8 ± 43,6
13
* Instrução customizada para cálculo de distância absoluta
Tese de doutorado - Universidade Federal de Minas Gerais - Escola de Engenharia - PPGEE
54
Conclusões
• O algoritmo RSR seleciona as melhores
amostras que representam a categoria dos dados
para o projeto do circuito classificador binário.
• Circuitos digitais podem trabalhar como
classificadores e ter boa generalização se o
algoritmo RSR for utilizado como préprocessamento dos dados de projeto do circuito.
• O método RSR reduz a quantidade necessária de
amostras para a geração do circuito digital
classificador pelo minimizador Booleano e,
conseqüentemente, o custo de armazenamento e
processamento do minimizador.
Tese de doutorado - Universidade Federal de Minas Gerais - Escola de Engenharia - PPGEE
55
• O algoritmo RSR pode ser implementado em
hardware e/ou software em conjunto com o
minimizador Booleano para geração on-line de
classificadores de padrões binários.
• Circuitos classificadores digitais possuem tempo
de atraso de resposta devido ao atraso das portas
lógicas.
• Sistemas de hardware baseados em FPGA
facilitam e agilizam a implementação de
circuitos multiprocessados e permitem a geração
de circuitos combinacionais on-line.
Tese de doutorado - Universidade Federal de Minas Gerais - Escola de Engenharia - PPGEE
56
Principais Contribuições
• Um novo método de seleção de amostras baseado
no kNN para treinamento de máquinas de
aprendizado.
• Uma nova métrica de distância entre padrões
baseada nos coeficientes da verossimilhança da
Regra de Bayes.
• Uma modificação na métrica VDM.
Tese de doutorado - Universidade Federal de Minas Gerais - Escola de Engenharia - PPGEE
57
• Uma dedução probabilística da Distância de
Discriminação.
• Um esquema de projeto de circuito digital
combinacional para operar como classificador de
padrões binários com capacidade de
generalização.
• Uma proposta de implementação em
hardware/software de um sistema classificador
autônomo, portátil e versátil com capacidade de
treinamento on-line e resposta com tempo de
atraso mínimo.
Tese de doutorado - Universidade Federal de Minas Gerais - Escola de Engenharia - PPGEE
58
Propostas de continuidade
• Testar o método proposto utilizando outros
bancos de dados binários.
• Utilizar o método de seleção (RSR) para
aplicação em conjunto com outros métodos de
aprendizado de máquina (ex.: SVM).
• Converter as implementações em software para
hardware.
• Desenvolver outras métricas específicas para
padrões binários.
Tese de doutorado - Universidade Federal de Minas Gerais - Escola de Engenharia - PPGEE
59
• Determinar as condições de contorno do
problema para as quais cada métrica descrita é
mais indicada que outra.
• Desenvolver o método de seleção de amostras
para mais de duas classes.
• Melhoramentos no algoritmo de seleção de
amostras.
Tese de doutorado - Universidade Federal de Minas Gerais - Escola de Engenharia - PPGEE
60
Agradecimentos
• À Deus, por tudo.
• À minha esposa Adriana e minha filha Yasmim pela
compreensão.
• Ao orientador Prof. Antônio de Pádua Braga, pelas
horas de dedicação e disponibilidade.
• Aos amigos do LITC e CPDEE, pela ajuda nos
momentos mais necessários.
Tese de doutorado - Universidade Federal de Minas Gerais - Escola de Engenharia - PPGEE
61
• Aos funcionários do CPDEE, pelo profissionalismo.
• À CAPES, pela ajuda financeira.
• À Universidade Federal de Lavras por minha
liberação.
• À banca examinadora pelo trabalho.
• E a todos presentes pela atenção.
Tese de doutorado - Universidade Federal de Minas Gerais - Escola de Engenharia - PPGEE
62