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

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

Geração automática de RNAs MLP utilizando FPGA Antonyus Pyetro Orientadora: Edna Barros -

Apresentações semelhantes


Apresentação em tema: "Geração automática de RNAs MLP utilizando FPGA Antonyus Pyetro Orientadora: Edna Barros -"— Transcrição da apresentação:

1 Geração automática de RNAs MLP utilizando FPGA Antonyus Pyetro Orientadora: Edna Barros -

2 Roteiro Motivação Rede neural artificial Projeto de RNAs em FPGA Análise dos Resultados Trabalhos relacionados Trabalhos futuros

3 Motivação

4 RNAs – processamento paralelo e distribuído Usada em muitas áreas do conhecimento processamento de sinais, análise de imagens médicas, sistemas de diagnóstico e previsões de séries temporais Implementações em software – seqüenciais FPGAs – provêm paralelismo de hardware Paralelismo de processo e dados Alto poder de processamento e baixo custo

5 Motivação Objetivos: Definição de uma arquitetura de RNAs para hardware (inicialmente para aprendizado Off-line) Implementação em FPGA Validar com um modelo em software Comparar desempenho

6 Rede neural artificial Inspirado no modelo biológico Processamento do cérebro é inerentemente paralelo e distribuído Aprendem através de exemplos Adaptabilidade Capacidade de generalização Tolerância a falhas

7 Neurônio artificial

8 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) }

9 RNA - topologia

10 Exemplo de RNA Problema: Diabetes Atributos de entrada: 5 Classes: 2 Exemplos de testes: 384 Topologia: 5:2:2 Função de transferência Sigmóide

11 Projeto de RNAs em FPGA Desafios: Aritmética de ponto flutuante Vs Ponto Fixo Como implementar a sigmóide em FPGA? Φ(u) = 1 /( 1 + exp(u) )

12 Ponto Flutuante Vs Ponto Fixo Ponto flutuante: Menor precisão Range dinâmico Menor tempo de desenvolvimento Ponto fixo Menor custo do produto final Maior velocidade Introduz oscilação na fase de aprendizado

13 Implementação da sigmóide Implementação direta em hardware Φ(u) = 1 /( 1 + exp(u) ) Implementação da expansão em série Implementação por Look up table Implementar versão aproximada

14 Comparação Métodoerro médioerro maxSuaveRápido 1ª ordem otimizado1.4539e simnão 1ª ordem simples8.9214e nãosim 2ª ordem simples8.5910e sim

15 Implementação do Neurônio Cálculo do estado de ativação Um somador e um multiplicador N º entradasFun ç ãoOpera ç ões 2X1 x W1 + X2 x W2 + W0X X + + 3X1xW1 + X2xW2 + X3xW3 + W0X X X X1xW1 + X2xW2 + X3xW3 + X4xW4 +W0 X X X X

16 Implementação do Neurônio Neurônio com pesos parametrizados

17 Implementação da Rede Neural 384 exemplos 299,45μs Controle seqüencial

18 Implementação da Rede Neural 384 exemplos 165,38μs Controle paralelo

19 Rede neural - XOR

20 Análise de resultados Estudo de caso: Diabetes 2 classes, 5 entradas, 384 exemplos de teste Modelos Matlab script – sigmóide real, aproximado Em FPGA Em software – C++ Metodologia de teste Comparar saídas e obter o erro

21 Análise de resultados Erro Matlab sigmóide real Vs sigmóide aproximada Erro m á ximo: médio: Matlab sigmóide real Vs software – C++ Erro m á ximo: e-006 Em FPGA Vs Matlab sigmóide aproximada Erro m á ximo: Em FPGA Vs Matlab sigmóide real Erro m á ximo:

22 Tempo de execução implementa ç ão em C++ ( AMD Athlon GHz com 512 MB de mem ó ria ) 23ms Em FPGA – fmax = 160MHz Controle sequencial 299,45μs ( 76,8 vezes mais r á pido ) Controle paralelo 165,38μs (139 vezes mais r á pido)

23 Área Á rea total (FPGA STRATIX II EP2S60F672C5ES ) : 16% l ó gica combinacional do 5% mem ó ria 11% blocos DSP de 9-bits

24 Trabalhos relacionados

25 Trabalhos futuros Introduzir o aprendizado online no FPGA Abranger outros tipos de redes inclusive as de estrutura dinâmicas (reconfiguração dinâmica). Framework Entrada: topologia da rede (treinada ou não); pesos; Saída: código HDL Vantagem: encapsula-se todo o projeto da implementação em hardware

26 Proposta de Trabalho Escopo Geração automática de código a partir da Ferramenta CAD de RNA (Matlab, Weeka, Scilab, Tanagra, etc) Garantir transparência e parametrização para o projetista de IA

27 Análise de Resultados Comparativo qualitativo em relação às implementações de RNA em FPGA (função de ativação, uso de ponto flutuante vs ponto fixo, etc) Comparativo quantitativo Abordagens em FPGA - Tempo de processamento, área e throughput Abordagens em GPU - Tempo de processamento, desempenho / custo da solução, desempenho / watt.

28 Perguntas!


Carregar ppt "Geração automática de RNAs MLP utilizando FPGA Antonyus Pyetro Orientadora: Edna Barros -"

Apresentações semelhantes


Anúncios Google