Escolar Documentos
Profissional Documentos
Cultura Documentos
CENTRO DE INFORMTICA
Trabalho de Graduao
Implementao de uma
arquitetura de Redes Neurais MLP
utilizando FPGA
Verso: parcial
apaf-TG.doc
Resumo
Gate
desenvolvimento
da
Arrays
(FPGA).
arquitetura
Cada
descrita
escolha
no
trivial
acompanhada,
no
quando
Pgina 1
24/11/2008
Verso: parcial
apaf-TG.doc
RESUMO............................................................................................................................................1
1.
INTRODUO......................................................................................................................3
2.
2.1
2.2
2.3
NEURNIO ARTIFICIAL..............................................................................................................5
APRENDIZADO DAS RNAS........................................................................................................6
O BACK-PROPAGATION.............................................................................................................9
3.
4.
4.1
ESCOLHAS DE PROJETO...........................................................................................................11
4.1.1
Ponto Flutuante VS Ponto Fixo....................................................................................12
4.1.2
Aproximao da Funo de Ativao...........................................................................15
4.2
IMPLEMENTAO DO NEURNIO.............................................................................................22
4.3
IMPLEMENTAO DA REDE NEURAL......................................................................................25
4.4
ESTRUTURA DE TESTE.............................................................................................................28
5.
5.1
5.2
5.3
6.
ANLISE DE RESULTADOS..........................................................................................30
ERRO.......................................................................................................................................31
TEMPO DE EXECUO.............................................................................................................32
REA.......................................................................................................................................33
TRABALHOS RELACIONADOS...................................................................................34
6.1
FPGA IMPLEMENTATION OF A FACE DETECTOR USING NEURAL NETWORKS [16]...................34
6.2
FPGA IMPLEMENTATION OF A NEURAL NETWORK FOR A REAL-TIME HAND TRACKING
SYSTEM [17].......................................................................................................................................35
7.
8.
APNDICE...........................................................................................................................39
8.1
8.2
9.
APROXIMAES DA SIGMIDE...................................................................................................39
ESQUEMTICO COMPLETO DA REDE NEURAL DO XOR................................................................41
REFERNCIAS...................................................................................................................42
ASSINATURAS...............................................................................................................................44
Pgina 2
24/11/2008
Verso: parcial
apaf-TG.doc
1.
Introduo
No
captulo
seguinte,
analisa-se
os
resultados
de
forma
Pgina 3
24/11/2008
Verso: parcial
apaf-TG.doc
2.
resultados
muito
mais
satisfatrios
do
que
computao
algortmica tradicional.
O processamento do crebro inerentemente paralelo e distribudo, as
informaes so guardadas nas conexes de neurnios, se aprende
atravs de exemplos e repetio. Tudo isso realizado por unidades simples,
porm numerosas que isoladamente no fazem diferena para o todo. Mas
bem verdade que se cria e tambm se usa conhecimento prvio para
adaptar-se a situaes nunca antes passadas. Usando o paralelo biolgico,
nas RNAs um grande nmero de neurnios trabalha de forma conexa para
processar a informao e fornecer um resultado.
As RNAs tem sido usadas em inmeras reas do conhecimento, como
processamento de sinais, anlise de imagens mdicas, sistemas de
diagnstico e previses de sries temporais. Um problema tipicamente
solucionvel com RNAs deve ser descrito como um problema de
reconhecimento de padres ou de aproximao de uma funo. Para os
casos de reconhecimento de padres uma RNA deve classificar um padro
de entrada dentre os de sada, mesmo sem nunca ter visto o referido
padro.
Pgina 4
24/11/2008
Verso: parcial
apaf-TG.doc
b. Adaptabilidade
c. Capacidade de generalizao
d. Tolerncia a falhas
e. Implementao rpida
2.1
Neurnio artificial
Pgina 5
24/11/2008
Verso: parcial
apaf-TG.doc
24/11/2008
Verso: parcial
apaf-TG.doc
2.2
segue
automaticamente
aprendizado
os
dados,
no
supervisionado,
extraindo
classifica
estatisticamente
suas
24/11/2008
Verso: parcial
apaf-TG.doc
separveis.
soluo
de
problemas
no
linearmente
24/11/2008
Verso: parcial
apaf-TG.doc
2.3
O Back-Propagation
sada.
Os
erros
dos
neurnios
das
camadas
mais
internas
24/11/2008
Verso: parcial
apaf-TG.doc
de
erro.
Usando,
para
isso,
um
mtodo
de
gradiente
3.
lgicas
especificando-se
[5].
funes
Um
projeto
lgicas
do
simples
usurio
para
implementado
cada
clula
e,
24/11/2008
Verso: parcial
apaf-TG.doc
Freqentemente,
FPGAs
so
utilizados
como
arquitetura
de
Pgina 11
24/11/2008
Verso: parcial
apaf-TG.doc
4.
4.1
Escolhas de projeto
4.1.1
24/11/2008
Verso: parcial
apaf-TG.doc
Pgina 13
24/11/2008
Verso: parcial
apaf-TG.doc
A maior vantagem em se usar ponto fixo para nmeros reais reside no fato
que nmeros em ponto fixo aderem aos mesmos princpios da aritmtica
de nmeros inteiros. Alm do mais, migrar para essa representao a
partir de uma arquitetura de inteiros no requer nenhuma lgica adicional.
A desvantagem do uso do ponto fixo fortemente fundamentada no fato
que os nmeros s podem ser representados em um intervalo limitado de
valores. Logo, torna-se susceptvel a ocorrncia de inacurcia.
Tabela 4.1 Comparativo ponto flutuante vs ponto fixo
Ponto flutuante
Ponto fixo
Preciso
Custo
final
Range Dinmico
Velocidade
Tempo
desenvolvimento
do
produto
de
os
componentes:
somador/subtrator
(ALTFP_ADD_SUB),
24/11/2008
Verso: parcial
apaf-TG.doc
4.1.2
neurais
MLP
funo
sigmide
logstica.
Essa
funo
em
um
grande
hardware,
nmero
tem
sido
de
aproximaes,
desenvolvidas.
visando
Desde
24/11/2008
Verso: parcial
apaf-TG.doc
(eq. 4.1)
Logo foi necessrio buscar outra aproximao que apresente melhor custo
benefcio
entre
rea,
tempo
de
processamento
dificuldade
de
implementao.
A primeira alternativa consistiu em uma aproximao linear por partes
otimizada que define as funes [13]:
(eq. 4.2)
Pgina 16
24/11/2008
Verso: parcial
apaf-TG.doc
(eq. 4.3)
Pgina 17
24/11/2008
Verso: parcial
apaf-TG.doc
24/11/2008
Verso: parcial
apaf-TG.doc
24/11/2008
Verso: parcial
apaf-TG.doc
(eq. 4.4)
multiplicao
multiplicaes
(para
calcular
implementa-se
com
quadrado)
lgica
restante
combinacional.
Ademais
precisamos de um somador.
(eq. 4.5)
Pgina 20
das
24/11/2008
Verso: parcial
apaf-TG.doc
Pgina 21
24/11/2008
Verso: parcial
apaf-TG.doc
Mtodo
erro mdio
erro
Suave
Rpido
0.0194
sim
no
0.0189
no
sim
0.0215
sim
sim
max
1
ordem
por
1.4539e-
partes otimizado
1
ordem
por
017
8.9214e-
partes simples
2
ordem
018
por
8.5910e-
partes simples
018
pela
concepo
do
neurnio
Pgina 22
com
funo
de
ativao
24/11/2008
Verso: parcial
apaf-TG.doc
4.2
Implementao do Neurnio
24/11/2008
Verso: parcial
apaf-TG.doc
com
melhor
uso
dos
componentes
aritmticos,
Funo
Operae
entradas
2
s
X1 x W1 + X2 x W2 + W0
XX+
+
XXX+
++
24/11/2008
Verso: parcial
apaf-TG.doc
24/11/2008
Verso: parcial
apaf-TG.doc
4.3
Pgina 26
24/11/2008
Verso: parcial
apaf-TG.doc
Pgina 27
24/11/2008
Verso: parcial
apaf-TG.doc
pela
resposta
da
camada
economiza-se
tempo
de
Pgina 28
24/11/2008
Verso: parcial
apaf-TG.doc
4.4
Estrutura de teste
Pgina 29
24/11/2008
Verso: parcial
apaf-TG.doc
24/11/2008
Verso: parcial
apaf-TG.doc
Entrada Sada
5.
Sada
Applet
FPGA
00
0,00398
01
0,99590
10
0,99590
11
0,00501
Anlise de resultados
24/11/2008
Verso: parcial
apaf-TG.doc
5.1
Erro
24/11/2008
Verso: parcial
apaf-TG.doc
5.2
Tempo de execuo
24/11/2008
Verso: parcial
apaf-TG.doc
5.3
rea
24/11/2008
Verso: parcial
apaf-TG.doc
implementao
utilizando
ponto
flutuante
demandar
maior
6.
Trabalhos Relacionados
6.1
24/11/2008
Verso: parcial
apaf-TG.doc
Assim como neste trabalho, os autores escolheram pelo uso da rede MLP.
Porm difere pela escolha da aproximao da funo de ativao. Nota-se
que a aproximao da sigmide abaixo bem mais custosa do que a
escolhida na arquitetura proposta anteriormente.
Uma rede de trs camadas (25:6:2) leva 1,7ms para classificar uma
imagem, rodando freqncia de 38MHz (bem abaixo do conseguido
neste trabalho). O desempenho conseguido corresponde a um ganho de
38 vezes mais rpido (relatado pelos autores).
O que se evidencia nesse trabalho a necessidade do uso de RNAs em
aplicaes de tempo real e por essa caracterstica, essas aplicaes
necessitam de um desempenho superior do que se conseguiria com
software.
Pgina 36
24/11/2008
Verso: parcial
apaf-TG.doc
Pgina 37
24/11/2008
Verso: parcial
apaf-TG.doc
7.
24/11/2008
Verso: parcial
apaf-TG.doc
Pgina 39
24/11/2008
Verso: parcial
apaf-TG.doc
8.
Apndice
8.1
Aproximaes da sigmide
x1 = x;
end
g = '0';
h = '.5+ x/4';
delta = 0.2638;
for i = 1:4,
g_value = subs(g,x1);
h_value = subs(h,x1);
if g_value > h_value
g_linha = g;
else
g_linha = h;
end
h = strcat('.5*(', g, '+',h,'+',num2str(delta),')' );
g = g_linha;
delta = delta / 4;
end
g_value = subs(g,x1);
h_value = subs(h,x1);
if g_value < h_value
value = h_value;
else
Pgina 40
24/11/2008
Verso: parcial
apaf-TG.doc
value = g_value;
end
if x > 0
value = 1-value;
end
function y = PLAN_appox(x)
if abs(x) >= 5
y = 1;
elseif abs(x) >= 2.375
y = .03125 * abs(x) + .84375;
elseif abs(x) >= 1
y = .125 * abs(x) + .625;
else
y = 1/4 * abs(x) + .5;
end
if x < 0
y = 1-y;
end
function y = piecewise_nd_order(x)
if x >= -4 & x < 0
y = (( 1 - abs(x/4) )^2)/2;
elseif x >= 0 & x <= 4
y = 1 - (( 1 - abs(x/4) )^2)/2;
end
Pgina 41
24/11/2008
Verso: parcial
apaf-TG.doc
8.2
Pgina 42
24/11/2008
Verso: parcial
apaf-TG.doc
9.
Referncias
[1]
[2]
[3]
[4]
[5]
[6]
[7]
[8]
[9]
24/11/2008
Verso: parcial
apaf-TG.doc
Pgina 44
24/11/2008
Verso: parcial
apaf-TG.doc
Assinaturas
___________________________________________________
Edna Natividade da Silva Barros
Orientadora
___________________________________________________
Teresa Bernarda Ludermir
Orientadora
___________________________________________________
Antonyus Pyetro do Amaral Ferreira
Aluno/Autor
Pgina 45
24/11/2008