Exploring Stochastic Computing applied to Artificial Perception - A Convolutional Neural Network implementation on Reconfigurable Logic
Autor(a) principal: | |
---|---|
Data de Publicação: | 2022 |
Tipo de documento: | Dissertação |
Idioma: | eng |
Título da fonte: | Repositório Científico de Acesso Aberto de Portugal (Repositórios Cientìficos) |
Texto Completo: | http://hdl.handle.net/10316/102054 |
Resumo: | Dissertação de Mestrado em Engenharia Eletrotécnica e de Computadores apresentada à Faculdade de Ciências e Tecnologia |
id |
RCAP_c0e3eac2447db5384fba3c06a777a92d |
---|---|
oai_identifier_str |
oai:estudogeral.uc.pt:10316/102054 |
network_acronym_str |
RCAP |
network_name_str |
Repositório Científico de Acesso Aberto de Portugal (Repositórios Cientìficos) |
repository_id_str |
7160 |
spelling |
Exploring Stochastic Computing applied to Artificial Perception - A Convolutional Neural Network implementation on Reconfigurable LogicExploração da Computação Estocástica aplicada à Percepção Artificial - Implementação de uma Rede Neuronal Convolucional em Lógica ReconfigurávelComputação EstocásticaRedes Neuronais ConvolucionaisAprendizagem de máquinaLógica ReconfigurávelStochastic ComputingConvolutional Neural NetworksMachine LearningReconfigurable LogicDissertação de Mestrado em Engenharia Eletrotécnica e de Computadores apresentada à Faculdade de Ciências e TecnologiaA Computação Estocástica é um método de computação que realiza operações baseadas em probabilidade, permitindo circuitos simples com baixo consumo de energia e significativa tolerância a falhas. As Redes Neurais Convolucionais requerem essencialmente somas ponderadas, apesar do enorme peso computacional associado a esses algoritmos. Devido à simplicidade dos cálculos realizados por estes algoritmos, propomos a aplicação de Computação Estocástica a Redes Neurais Convolucionais para implementar classificadores de tecnologia de ponta mais eficientes. Esta dissertação pretende contextualizar este problema e rever a literatura nas áreas correspondentes para fundamentar o trabalho realizado posteriormente. Foram realizadas breves revisões de possíveis metodologias de implementação para dar uma compreensão de como a Computação Estocástica pode ser usada na classificação de imagens em CNNs. Propomos a rede LeNet-5 Modificada baseada na rede LeNet-5 original, onde as modificações servem para dividir a rede em blocos facilmente substituíveis por blocos de Computação Estocástica. A rede LeNet-5 modificada alcançou um desempenho de treino de 97% no Tensorflow. Após o treino, implementámos a rede LeNet-5 Modificada em hardware reconfigurável personalizado para a classificação de imagens do conjunto de dados MNIST. No final do nosso trabalho, obtivemos uma implementação RTL modelo completa da CNN à qual pode ser adicionada a computação estocástica. O pipeline está totalmente implementado e funcional, no entanto carece de debug futuro.Stochastic Computing is a computing method that performs probability-based operations, allowing simple circuits with low energy consumption and significant fault tolerance. Convolutional Neural Networks are a class of machine learning algorithms that essentially require weighted sums, despite the huge computational weight associated with these algorithms. Due to the simplicity of operations calculated by these algorithms, we propose applying Stochastic Computing to Convolutional Neural Networks to implement more efficient edge computing classifiers. This dissertation intends to contextualize this problem and review the literature in the corresponding areas to base the work carried out later. Brief reviews of possible implementation methodologies have been carried out, to give an understanding of how to use Stochastic Computing in CNN image classification. We propose the Modified LeNet-5 based on the original LeNet-5, where the modifications serve to divide the network into blocks that can be easily exchangeable with Stochastic Computing blocks. The modified LeNet-5 achieved a training performance of 97% on Tensorflow, maintaining a good accuracy on classification, with similar values as the original LeNet-5. After training, we implemented the Modified LeNet-5 on custom reconfigurable hardware for the classification of images from the MNIST dataset. At the end of our work, we have a CNN baseline full RTL implementation on which Stochastic Computing can be added. The pipeline is fully implemented and working but not fully debugged.2022-07-28info:eu-repo/semantics/publishedVersioninfo:eu-repo/semantics/masterThesishttp://hdl.handle.net/10316/102054http://hdl.handle.net/10316/102054TID:203061918engCruz, Virgílio Manuel Henriques dainfo:eu-repo/semantics/openAccessreponame:Repositório Científico de Acesso Aberto de Portugal (Repositórios Cientìficos)instname:Agência para a Sociedade do Conhecimento (UMIC) - FCT - Sociedade da Informaçãoinstacron:RCAAP2022-09-23T20:43:05Zoai:estudogeral.uc.pt:10316/102054Portal AgregadorONGhttps://www.rcaap.pt/oai/openaireopendoar:71602024-03-19T21:19:05.956910Repositório Científico de Acesso Aberto de Portugal (Repositórios Cientìficos) - Agência para a Sociedade do Conhecimento (UMIC) - FCT - Sociedade da Informaçãofalse |
dc.title.none.fl_str_mv |
Exploring Stochastic Computing applied to Artificial Perception - A Convolutional Neural Network implementation on Reconfigurable Logic Exploração da Computação Estocástica aplicada à Percepção Artificial - Implementação de uma Rede Neuronal Convolucional em Lógica Reconfigurável |
title |
Exploring Stochastic Computing applied to Artificial Perception - A Convolutional Neural Network implementation on Reconfigurable Logic |
spellingShingle |
Exploring Stochastic Computing applied to Artificial Perception - A Convolutional Neural Network implementation on Reconfigurable Logic Cruz, Virgílio Manuel Henriques da Computação Estocástica Redes Neuronais Convolucionais Aprendizagem de máquina Lógica Reconfigurável Stochastic Computing Convolutional Neural Networks Machine Learning Reconfigurable Logic |
title_short |
Exploring Stochastic Computing applied to Artificial Perception - A Convolutional Neural Network implementation on Reconfigurable Logic |
title_full |
Exploring Stochastic Computing applied to Artificial Perception - A Convolutional Neural Network implementation on Reconfigurable Logic |
title_fullStr |
Exploring Stochastic Computing applied to Artificial Perception - A Convolutional Neural Network implementation on Reconfigurable Logic |
title_full_unstemmed |
Exploring Stochastic Computing applied to Artificial Perception - A Convolutional Neural Network implementation on Reconfigurable Logic |
title_sort |
Exploring Stochastic Computing applied to Artificial Perception - A Convolutional Neural Network implementation on Reconfigurable Logic |
author |
Cruz, Virgílio Manuel Henriques da |
author_facet |
Cruz, Virgílio Manuel Henriques da |
author_role |
author |
dc.contributor.author.fl_str_mv |
Cruz, Virgílio Manuel Henriques da |
dc.subject.por.fl_str_mv |
Computação Estocástica Redes Neuronais Convolucionais Aprendizagem de máquina Lógica Reconfigurável Stochastic Computing Convolutional Neural Networks Machine Learning Reconfigurable Logic |
topic |
Computação Estocástica Redes Neuronais Convolucionais Aprendizagem de máquina Lógica Reconfigurável Stochastic Computing Convolutional Neural Networks Machine Learning Reconfigurable Logic |
description |
Dissertação de Mestrado em Engenharia Eletrotécnica e de Computadores apresentada à Faculdade de Ciências e Tecnologia |
publishDate |
2022 |
dc.date.none.fl_str_mv |
2022-07-28 |
dc.type.status.fl_str_mv |
info:eu-repo/semantics/publishedVersion |
dc.type.driver.fl_str_mv |
info:eu-repo/semantics/masterThesis |
format |
masterThesis |
status_str |
publishedVersion |
dc.identifier.uri.fl_str_mv |
http://hdl.handle.net/10316/102054 http://hdl.handle.net/10316/102054 TID:203061918 |
url |
http://hdl.handle.net/10316/102054 |
identifier_str_mv |
TID:203061918 |
dc.language.iso.fl_str_mv |
eng |
language |
eng |
dc.rights.driver.fl_str_mv |
info:eu-repo/semantics/openAccess |
eu_rights_str_mv |
openAccess |
dc.source.none.fl_str_mv |
reponame:Repositório Científico de Acesso Aberto de Portugal (Repositórios Cientìficos) instname:Agência para a Sociedade do Conhecimento (UMIC) - FCT - Sociedade da Informação instacron:RCAAP |
instname_str |
Agência para a Sociedade do Conhecimento (UMIC) - FCT - Sociedade da Informação |
instacron_str |
RCAAP |
institution |
RCAAP |
reponame_str |
Repositório Científico de Acesso Aberto de Portugal (Repositórios Cientìficos) |
collection |
Repositório Científico de Acesso Aberto de Portugal (Repositórios Cientìficos) |
repository.name.fl_str_mv |
Repositório Científico de Acesso Aberto de Portugal (Repositórios Cientìficos) - Agência para a Sociedade do Conhecimento (UMIC) - FCT - Sociedade da Informação |
repository.mail.fl_str_mv |
|
_version_ |
1799134085670502400 |