Implementação em fpga de redes neurais comprimidas via poda de neurônios
Show simple item record
dc.contributor |
Universidade Federal de Santa Catarina. |
pt_BR |
dc.contributor.advisor |
Batista, Eduardo Luiz Ortiz |
|
dc.contributor.author |
Silvestri, Caio Turnes |
|
dc.date.accessioned |
2024-12-19T16:43:24Z |
|
dc.date.available |
2024-12-19T16:43:24Z |
|
dc.date.issued |
2024-12-13 |
|
dc.identifier.uri |
https://repositorio.ufsc.br/handle/123456789/262290 |
|
dc.description |
TCC (graduação) - Universidade Federal de Santa Catarina, Centro Tecnológico, Engenharia Eletrônica. |
pt_BR |
dc.description.abstract |
A utilização de Redes Neurais para diversas aplicações está em fase de crescimento. Nesse
contexto, modelos como Convolutional Neural Networks (CNNs) e Deep Neural Networks
(DNNs) têm apresentado um custo computacional cada vez mais elevado. Dessa forma,
é necessário utilizar técnicas como pruning, ou poda de neurônios, para reduzir as redes
e garantir um desempenho semelhante ao original. A implementação de redes neurais
em Field-Programmable Gate Array (FPGA) é recomendada devido à possibilidade de
aproveitar o alto paralelismo presente tanto no FPGA quanto na rede neural. No entanto,
pouco se discute sobre as implementações de redes obtidas a partir da aplicação de técnicas
de pruning em FPGAs. Uma compressão teórica obtida durante o treinamento do modelo
pode não se concretizar na implementação prática no FPGA. O objetivo principal deste
Trabalho de Conclusão de Curso (TCC) é implementar a inferência de uma rede neural
comprimida em FPGA e gerar uma discussão sobre os resultados obtidos e as possíveis
limitações desse tipo de implementação. Assim, uma rede neural que modela a função
sin(x) foi treinada em Python utilizando o Keras. Além disso, foi desenvolvida uma
ferramenta de transcrição para converter o arquivo de pesos gerado pelo Keras em um
arquivo Very High Speed Integrated Circuit (VHSIC) Hardware Description Language
(VHDL), permitindo a implementação da rede neural em FPGA de forma automática.
Dessa maneira, foi possível realizar a comparação entre compressão e desempenho das
versões completa e podada da rede neural quando implementadas em FPGA. Todos os
códigos serão disponibilizados no GitHub. |
pt_BR |
dc.description.abstract |
The use of Neural Networks for various applications is on the rise. In this context, models
such as Convolutional Neural Networks (CNNs) and Deep Neural Networks (DNNs) have
shown an increasingly high computational cost. Therefore, techniques such as pruning
are necessary to reduce the networks while ensuring similar performance to the original.
The implementation of neural networks in Field-Programmable Gate Array (FPGA) is
recommended due to the possibility of leveraging the high parallelism present in both the
FPGA and the neural network. However, little is discussed about the implementations
of networks obtained through pruning techniques in FPGAs. Theoretical compression
achieved during model training may not materialize in practical FPGA implementation.
The main goal of this Course Completion Work is to implement the inference of a compressed neural network in FPGA and to generate a discussion about the results obtained
and the potential limitations of this type of implementation. For this purpose, a neural
network modeling the function sin(x) was trained in Python using Keras. Additionally,
a transcription tool was developed to convert the weight file generated by Keras into
a VHDL file, enabling the automatic implementation of the neural network in FPGA.
This allowed for a comparison of the compression and performance of the complete and
pruned versions of the neural network when implemented in FPGA. All code will be made
available on GitHub. |
pt_BR |
dc.format.extent |
41 f. |
pt_BR |
dc.language.iso |
por |
pt_BR |
dc.publisher |
Florianópolis, SC. |
pt_BR |
dc.rights |
Open Access. |
en |
dc.subject |
FPGA |
pt_BR |
dc.subject |
Redes Neurais |
pt_BR |
dc.subject |
Pruning |
pt_BR |
dc.subject |
Desempenho |
pt_BR |
dc.subject |
open source |
pt_BR |
dc.title |
Implementação em fpga de redes neurais comprimidas via poda de neurônios |
pt_BR |
dc.type |
TCCgrad |
pt_BR |
Files in this item
This item appears in the following Collection(s)
Show simple item record
Search DSpace
Browse
-
All of DSpace
-
This Collection
My Account
Statistics
Compartilhar