A apresentação está carregando. Por favor, espere

A apresentação está carregando. Por favor, espere

A High performance full pipelined arquitecture of MLP Neural Networks in FPGA Antonyus Pyetro apaf@cin.ufpe.br Orientadora: Edna Barros - ensb@cin.ufpe.br.

Apresentações semelhantes


Apresentação em tema: "A High performance full pipelined arquitecture of MLP Neural Networks in FPGA Antonyus Pyetro apaf@cin.ufpe.br Orientadora: Edna Barros - ensb@cin.ufpe.br."— Transcrição da apresentação:

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!


Carregar ppt "A High performance full pipelined arquitecture of MLP Neural Networks in FPGA Antonyus Pyetro apaf@cin.ufpe.br Orientadora: Edna Barros - ensb@cin.ufpe.br."

Apresentações semelhantes


Anúncios Google