Arquiteturas de hardware para redes neurais convolucionais visando compromisso entre custo e desempenho

Detalhes bibliográficos
Ano de defesa: 2023
Autor(a) principal: França, Alexandre Bazyl Zacarias de
Orientador(a): Gomes, José Gabriel Rodríguez Carneiro, Oliveira, Fernanda Duarte Vilela Reis de, Nedjah, Nadia
Banca de defesa: Não Informado pela instituição
Tipo de documento: Tese
Tipo de acesso: Acesso aberto
Idioma: por
Instituição de defesa: Universidade Federal do Rio de Janeiro (UFRJ)
Programa de Pós-Graduação: Não Informado pela instituição
Departamento: Não Informado pela instituição
País: Não Informado pela instituição
Palavras-chave em Português:
Link de acesso: https://www.repositorio.mar.mil.br/handle/ripcmb/846568
Resumo: As redes neurais convolucionais, especialmente as embarcadas em dispositivos com requisitos de baixo consumo de energia, apresentam um desafio significativo: equilibrar a alta precisão esperada das redes neurais, o tempo de resposta e as demandas de recursos computacionais, lógicos e de memória. Este trabalho apresenta três arquiteturas de hardware para redes neurais convolucionais com alto grau de paralelismo e reutilização de componentes implementadas em um dispositivo programável. O primeiro projeto, denominado arquitetura com memória, utiliza a quantidade de memória necessária para armazenar os dados de entrada e os resultados intermediários. O segundo projeto, denominado arquitetura sem memória, define e explora um padrão específico de sequenciamento da entrada para evitar o uso de memória RAM. O terceiro projeto, denominado arquitetura com memória cache, é uma solução intermediária, onde a padronização da sequência de entrada também é explorada mas uma memória auxiliar é utilizada para armazenar alguns resultados intermediários e, consequentemente, melhorar o tempo de processamento. Comparamos as três arquiteturas em termos de potência, área e tempo de processamento. Permitir o uso de memória aumenta o custo geral de hardware, mas reduz o tempo de processamento. Na outra extremidade, dispensar completamente o uso de memória aumenta o nível de paralelismo mas compromete o tempo de processamento. O balanceamento entre uso de memória e desempenho é alcançado na arquitetura com memória cache que otimiza o tempo de processamento mas com custo em termos de recursos de hardware.