Carregar apresentação
A apresentação está carregando. Por favor, espere
PublicouLuã Monte Alterado mais de 10 anos atrás
1
A High performance full pipelined arquitecture of MLP Neural Networks in FPGA
Antonyus Pyetro Orientadora: Edna Barros -
2
Roteiro Motivação Rede neural artificial Fluxo de Projeto de RNAs
Trabalho relacionado Arquitetura proposta Resultados
3
Motivação Por que se usa RNAs? Inspirado no modelo biológico
Aprendem através de exemplos Capacidade de generalização Tolerância a falhas e a ruído
4
Motivação Por que FPGAs? Por que RNAs em FPGA?
Paralelismo de processo e dados Alto poder de processamento Possibilidade de customização do HW Por que RNAs em FPGA? Processamento inerentemente paralelo e distribuído Implementações em software – seqüênciais
5
Motivação Implementação de RNAs em FPGA Vantagens Desvantagens
Aumento da capacidade de processamento Aplicações em tempo real e críticas Reduzir o consumo de potência Aplicações embarcadas Desvantagens Maior custo do hw Implementação complexa
6
Neurônio artificial
7
Neurônio– função de ativação
Algumas funções de limiar usadas são: Função degrau unitário; Φ(u) = 1 se u > 0, Φ(u) = 0, caso contrário Função rampa unitária Φ(u) = max{0.0, min{1.0, u + 0.5}} Função sigmóide logística Φ(u) = a /{ 1 + exp(−bu) }
8
RNA - topologia
9
Fluxo de projeto de RNAs
Projetista de IA Projeto CAD da RNA Implementação em SW Implementação em HW Projetista de IA ou de SW Manual Engenheiro de HW
10
Fluxo de Projeto Implementação em HW Projeto da arquitetura de HW
Especificação em HDL Verificação funcional Síntese Simulação Timing Prototipação em FPGA Implementação em HW
11
Trabalho relacionado VANNGen: a Flexible CAD Tool for Hardware Implementation of Artificial Neural Networks Geração automática da RNA Necessita do projetista de HW Ponto fixo Vs ponto flutuante, precisão, etc... Não permite integração das ferramentas CAD de RNA Edição manual do arquivo de configuração
12
Arquitetura convencional
Computação do estado de ativação para cada camada , m somas de m+1 produtos para cada n Instanciando m+1 multiplicadores e m somadores n * m ciclos
13
Arquitetura Proposta Computar produto coluna x linha W11•X1, …, Wn1•X1
Depois somar com o resultado da prox. Coluna Alinhar 2 a 2 até que todo somatório esteja computado
14
Desempenho esperado n é normalmente pequeno (menos de 20)
Computa-se o produto em ciclos n é normalmente pequeno (menos de 20) Recursos somadores e 1 multiplicador 1 única entrada por vez é necessária 1 única saída por vez necessaria Taxa de computação n*m ciclos se m é par e n*(m+1) se m impar
15
Camada – 4 neuronios 4 entradas
16
Camada – 4 neuronios 5 entradas
17
A função de ativação É uma função complexa
Φ(u) = a /{ 1 + exp(−bu) } A computação em hw é muito custosa Aproximações Look-up tables
18
Solução proposta Na arquitetura proposta
Toda camada fornece 1 saída e necessita de 1 entrada por vez Necessita de apenas uma estrutura para computar a função de ativação
19
Solução proposta x = [a,b] , discreto com passo 1/k então temos de x para armazenar Para um dado x, resulta na posição de x no vetor [a,b] Se k = 2z o termo x*k basta adicionar Z no expoente de x Uma única soma de ponto flutuante necessária sem necessidade de realizar busca binária
20
Problemas e soluções Recursos de interconexões, nr pinos e fan-out
Na nova arquitetura O(1) vs O(m) Quantidade de pinos fixa Consumo de lógica Consumo de somadores segue a lei Compromisso área / desempenho Datapath pode ser replicado para melhorar performance – divisores de n
21
Resultados - desempenho
Testadas 3 redes neurais 2 classificação 1 aproximação da função samples topology Neurons Sw (ms) Hw (ms) Speed-up Sinusoid 249 1-5-1 6 0.345 34.03 Iris 150 14 0.517 26.56 300 1.0 26.34 600 2.0 26.67 Semeion 1593 20 50.07 13.605 3.68 Semeion2 6.808 8.10 Semeion3 1.371 36.52
22
Resultados - área Adders ALUTs Registers Memory Bits DSP blocks
Sinusoid 4 4591(12%) 5294(14%) 116405(2%) 8(2%) Iris 9 8782(23%) 9791(26%) 181901(3%) 12(3%) Semeion 12 11297(30%) 10967(29%) 521847(10%) FPGA - EP3SL50F484C2
23
Perguntas!
Apresentações semelhantes
© 2024 SlidePlayer.com.br Inc.
All rights reserved.