Baixe o app para aproveitar ainda mais
Prévia do material em texto
Redes neurais implementadas em hardware: arquiteturas e aplicações Leonardo Alves de Paula e Silva CMP135 - Arquiteturas Especiais Prof. Philippe O. A. Navaux 07/01/2002 Redes neurais implementadas em hardware: arquiteturas e aplicac¸o˜es – p.1/35 Introdução � Introdução � Especificações e Medidas de desempenho � Classificação � Estudos de caso � Aplicações � Conclusões � Bibliografia Redes neurais implementadas em hardware: arquiteturas e aplicac¸o˜es – p.2/35 Introdução � “Mesmo o mais rápido processador não pode prover resposta e aprendizado em tempo-real para redes com um número razoável de neurônios e sinapses.” Lindsey em [2]. � von Neuman geralmente utilizado para neurosimulações, mas algumas aplicações como experimentos em física de alta energia necessitam implementações em hardware Redes neurais implementadas em hardware: arquiteturas e aplicac¸o˜es – p.3/35 Especificações Especificações da rede neural: � Arquitetura da Rede Neural (Feedfoward multi-layer, radial basis functions (RBF), etc.) � Número de entradas e saídas � Número de neurônios � Número de sinapses por neurônio � Número de camadas Redes neurais implementadas em hardware: arquiteturas e aplicac¸o˜es – p.4/35 Especificações Especificações do hardware: � Tecnologia utilizada (analógica, digital, híbrida ou ótica) � Precisão (em número de bits) � das entradas e saídas � dos pesos � dos acumuladores Redes neurais implementadas em hardware: arquiteturas e aplicac¸o˜es – p.5/35 Medidas de Desempenho Medidas de desempenho: � Connection-Per-Second (CPS): define a taxa de operações de multiplicação e acumulação de valores durante o processamento; mede o quão rápido um rede realiza a fase de recall, i.e. mapeamento do entrada para saída; � Connection-Update-Per-Second (CUPS): indica a taxa de mudança dos pesos durante o processo de aprendizagem; mede o quão rápido a rede consegue aprender. Redes neurais implementadas em hardware: arquiteturas e aplicac¸o˜es – p.6/35 Medidas de Desempenho � Não existe um consenso entre os testes de benchmark para redes neurais a não ser o tempo de aprendizagem do NETtalk (rede neural do tipo backpropagation que traduz um texto em fonemas) o qual é citado em [2, 3] . Redes neurais implementadas em hardware: arquiteturas e aplicac¸o˜es – p.7/35 Classificação Neurohardware C o m m e r c i a l C h i p s PC−boards Digital Analog Hybrid Optical General−purpose Co−processors Processor arrays SPMDSystolic SIMD Special−purpose Custom design chips technologies Figure 1: Taxonomia de abordagens de paralelização para neurosimulações segundo Serbedzija [2] Existe ainda outras classificações citadas em [1], inclusive a classificação de Flynn. Redes neurais implementadas em hardware: arquiteturas e aplicac¸o˜es – p.8/35 Estudos de Casos Tabela 1: Neurocomputadores encontrados comercialmente (os resultados de desempenho não foram obtidos utilizando um mesmo benchmark, devendo ser tomados como sendo relativos, como sugere a fonte [2]). Redes neurais implementadas em hardware: arquiteturas e aplicac¸o˜es – p.9/35 Estudos de Casos Produto Arq./tecnologia Neurônios Conexões CUPS CPS SYNAPSE systolic - nenhuma 33M 5.12G CNAPS SIMD 64 128k 1.46G 5.7G RAP SPMD - - 106M 574M SAIC PC+board virtual virtual 2M 11M Balboa PC-board - - 9M 25M Lneuro transputer �board 64 512 4.2M 19M WSI digital 576 36K 2.3G - ETANN analógico 64 10K nenhuma 2G Boltzmann híbrido 336 28K 28G 1T Table 1: Neurocomputadores encontrados comercialmente [2]. Redes neurais implementadas em hardware: arquiteturas e aplicac¸o˜es – p.10/35 Estudos de Casos Tabela 2: Alguns neurochips/neurocomputadores encontrados comercialmente classificados seguindo a taxonomia de Serbedzija para hardware dedicado (special-purpose) Redes neurais implementadas em hardware: arquiteturas e aplicac¸o˜es – p.11/35 Estudos de Casos Redes neurais implementadas em hardware: arquiteturas e aplicac¸o˜es – p.12/35 Estudos de Casos Figure 2: Decomposição da rede neural para pro- gramação paralela [2]. Redes neurais implementadas em hardware: arquiteturas e aplicac¸o˜es – p.13/35 Estudos de Casos: Processor arrays SYNAPSE System: � Produzido pela Siemens � Dos mais populares e de uso geral � Baseados em arquitetura sistólica bidimensional � Projetado para acelerar operações de matrizes e procura do máximo valor � Composto por 8 processadores MA16 e 2 MC6804 CICS para propósitos de controle � Um único módulo pode processar 4 padrões de 16 elementos cada (16-bits) com 16 valores a uma taxa de 800 multiplicações/acumulações/sec a 50Mhz Redes neurais implementadas em hardware: arquiteturas e aplicac¸o˜es – p.14/35 Estudos de Casos: Processor arrays CNAPS (Coprocessing Node Architecture for Parallel Systems): � Desenvolvida por pela Adaptative Solutions � SIMD � 64 processadores por chip conectados em uma estrutura de vetor unidimensional � Barramento de broadcast conecta os processadores a um sequenciador comum de instrução microcodificada � Para o aprendizado on-chip, cada chip tem como manter 128k pesos de 16 bits Redes neurais implementadas em hardware: arquiteturas e aplicac¸o˜es – p.15/35 Estudos de Casos: Processor arrays CNAPS (Coprocessing Node Architecture for Parallel Systems): � Pode ter até 512 conectados a um host workstation � Ferramentas de desenvolvimento proprietária Redes neurais implementadas em hardware: arquiteturas e aplicac¸o˜es – p.16/35 Estudos de Casos: Processor arrays Figure 3: Arquitetura Adaptative Solutions CNAPS. Redes neurais implementadas em hardware: arquiteturas e aplicac¸o˜es – p.17/35 Estudos de Casos: Processor arrays Figure 4: Foto do Adaptative Solutions CNAPS em uma placa. Redes neurais implementadas em hardware: arquiteturas e aplicac¸o˜es – p.18/35 Estudos de Casos: Processor arrays RAP (Ring Array Processor): � Desenvolvido no ICSI Berkeley � Estruturado em anel de DSPs (Digital Signal Processor ) � Cada DSP tem memória local de 256kbytes de RAM estática e 4Mbytes de RAM dinâmica. � Até 4 DSPs por placa Redes neurais implementadas em hardware: arquiteturas e aplicac¸o˜es – p.19/35 Estudos de Casos: Processor arrays RAP (Ring Array Processor): � Processamento é disparado por intermédio de um host workstation � Processamento SPMD � Mapeamento de conjunto de neurônios em um DSP � Apropriado para aplicações conexionistas Redes neurais implementadas em hardware: arquiteturas e aplicac¸o˜es – p.20/35 Estudos de Casos: Co-processors SAIC SIGMA-1: � Processador comporta até 3M elementos de processamento virtual e conexões � Linguagem OO (ANSpec) e biblioteca para rede neural (ANSim) Redes neurais implementadas em hardware: arquiteturas e aplicac¸o˜es – p.21/35 Estudos de Casos: Co-processors Balboa 869: � Para PC e Sun � Processador Intel i860 especializado para executar o pacote ExploreNet Redes neurais implementadas em hardware: arquiteturas e aplicac¸o˜es – p.22/35 Estudos de Casos: Co-processors Lneuro (LEP neuromimetic circuit): � Produzido pela Philips � Os processadores são integrados em blocos e conectados em transputers � Combina MIMD do transputer com SIMD dos processadores Redes neurais implementadas em hardware: arquiteturas e aplicac¸o˜es – p.23/35 Estudos de Casos: Special-purpose WSI: � Produzido pela Hitachi � Tecnologia Digital � 576 neurônios e 36K pesos � Integrado em chips de 5 polegadas usando 0.8 � m CMOS Redes neurais implementadas em hardware: arquiteturas e aplicac¸o˜es – p.24/35 Estudos de Casos: Special-purpose ETANN(Electrically Trainable Analog Neural Network ): � Produzido pela Intel � Tecnologia analógica � 64 neurônios e 10K pesos � Processamento é disparado por intermédio de um PC host Redes neurais implementadas em hardware: arquiteturas e aplicac¸o˜es – p.25/35 Estudos de Casos: Special-purpose Figure 5: Intel ETANN Redes neurais implementadas em hardware: arquiteturas e aplicac¸o˜es – p.26/35 Estudos de Casos: Special-purpose Figure 6: Intel ETANN Multi Chip board para treinamento de até 8 ETANNs. Redes neurais implementadas em hardware: arquiteturas e aplicac¸o˜es – p.27/35 Estudos de Casos: Special-purpose Boltzmann Machine: � Produzido pela Mitsubishi � Tecnologica híbrida (digital e analógica) � 336 neurônios de 1 bit e 28k pesos de 5 bits Redes neurais implementadas em hardware: arquiteturas e aplicac¸o˜es – p.28/35 Aplicações � OCR (Optical Character Recognition) Figure 7: Passos do reconhecimento ótico de car- acteres. Redes neurais implementadas em hardware: arquiteturas e aplicac¸o˜es – p.29/35 Aplicações � High Energy Physics: � Experimentos em física de alta energia envolvem colisões de partículas sub-atômicas como prótons e elétrons em aceleradores de partículas. � A explosão ocorrem quando as partículas se chocam formando partícluas ainda menores, as quais são de grande interesse (pelo menos para os físicos!) como os quarks. � A maioria das colisões não produzem nada interessante. Redes neurais implementadas em hardware: arquiteturas e aplicac¸o˜es – p.30/35 Aplicações � A freqüência de colisão excede centenas de MHz, exigindo um filtro online sofisticado para rejeitar eventos que não tenham interesse e guardar apenas os interessantes. � O Fermilab Tevatron perto de Chicago tem (tinha?) um equipamento para realizar esta classificação que emprega o Intel ETANN. � O Max Planck Institute em Hamburgo, o equipamento de classificação utiliza 10 placas Adaptative Solutions CNAPS VME executando 10 redes neurais diferentes. Redes neurais implementadas em hardware: arquiteturas e aplicac¸o˜es – p.31/35 Conclusão � Hardware dedicado atinge maior desempenho – segundo publicação na IEEE Micro de junho de 1994 – já que implementam um modelo específico de rede neural diretamente no circuito. � O uso combinado de tecnologias digital e analógica produzem neurochips que atingem taxas de Giga CUPS na fase de aprendizado e de Tera CPS na fase de recall. Redes neurais implementadas em hardware: arquiteturas e aplicac¸o˜es – p.32/35 Conclusão � A dificuldade em desenvolver neurohardware está na relativa imaturidade da pesquisa em redes neurais, onde os modelos já criados continuam sendo modificados e novos modelos vão sendo rapidamente desenvolvidos [2]. � O neurocomputador do futuro poderá consistir de um número modular de componentes abrangendo do hardware convencional até circuitos altamente especializados, dispositivos óticos e moleculares [2]. Redes neurais implementadas em hardware: arquiteturas e aplicac¸o˜es – p.33/35 References [1] Valeriu Beiu. Handbook of Neural Computation, chapter E1.4. IOP Publishing Ltd and Oxford University Press, 1997. Capítulos disponibilizados em formato PDF: http://www.iop.org/Books/CIL/HNC/index.html . [2] Clark S. Lindsey. Neural networks in hardware: Architectures, products and applications. Disponível em http://www.particle.kth.se/~lindsey/HardwareNNWCourse/home.html . Notas de aula. Última atualização: 26/08/2002. Visitado em 19/12/2002. [3] Clark S. Lindsey, Bruce Denby, and Thomas Lindblad. Artificial neural networks in high energy physics. Disponível em http://neuralnets.web.cern.ch/NeuralNets/nnwInHepHard.html . Última atualização: 13/11/1998. Visitado em 15/12/2002. Redes neurais implementadas em hardware: arquiteturas e aplicac¸o˜es – p.34/35 References [1] Clark S. Lindsey and Thomas Lindblad. Review of hardware neural networks: A user’s perspective. Disponível em http://www.particle.kth.se/%7Elindsey/elba2html/elba2html.html . Última atualização: 06/03/1998. Visitado em 16/12/2002. [2] Nikola B. Serbedzija. Simulating artificial neural networks on parallel architectures. Computer, 29(3):56–63, 1996. Redes neurais implementadas em hardware: arquiteturas e aplicac¸o˜es – p.35/35 Introdução Introdução Especificações Especificações Medidas de Desempenho Medidas de Desempenho Classificação Estudos de Casos Estudos de Casos Estudos de Casos Estudos de Casos Estudos de Casos Estudos de Casos: nulliny {Processor arrays} Estudos de Casos: nulliny {Processor arrays} Estudos de Casos: nulliny {Processor arrays} Estudos de Casos: nulliny {Processor arrays} Estudos de Casos: nulliny {Processor arrays} Estudos de Casos: nulliny {Processor arrays} Estudos de Casos: nulliny {Processor arrays} Estudos de Casos: nulliny {Co-processors} Estudos de Casos: nulliny {Co-processors} Estudos de Casos: nulliny {Co-processors} Estudos de Casos: nulliny {Special-purpose} Estudos de Casos: nulliny {Special-purpose} Estudos de Casos: nulliny {Special-purpose} Estudos de Casos: nulliny {Special-purpose} Estudos de Casos: nulliny {Special-purpose} Aplicações Aplicações Aplicações Conclusão Conclusão
Compartilhar