Exploring Stochastic Computing applied to Artificial Perception - A Convolutional Neural Network implementation on Reconfigurable Logic

Detalhes bibliográficos
Autor(a) principal: Cruz, Virgílio Manuel Henriques da
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