Fully parallel implementation of an SVM with SGD-based training on FPGA

Detalhes bibliográficos
Ano de defesa: 2021
Autor(a) principal: Lopes, Felipe Fernandes
Orientador(a): Fernandes, Marcelo Augusto Costa
Banca de defesa: Não Informado pela instituição
Tipo de documento: Dissertação
Tipo de acesso: Acesso aberto
Idioma: por
Instituição de defesa: Universidade Federal do Rio Grande do Norte
Programa de Pós-Graduação: PROGRAMA DE PÓS-GRADUAÇÃO EM ENGENHARIA ELÉTRICA E DE COMPUTAÇÃO
Departamento: Não Informado pela instituição
País: Brasil
Palavras-chave em Português:
SGD
SVM
Link de acesso: https://repositorio.ufrn.br/handle/123456789/32057
Resumo: Inteligência artificial, aprendizagem de máquina e aprendizagem profunda têm se mostrado técnicas poderosas para resolver problemas em áreas como processamento de linguagem natural, visão computacional e outras. No entanto, seu desempenho computacional e estatístico depende além de outros fatores dos algoritmos usados para o treinamento, da plataforma de computação usada e até mesmo da precisão numérica usada para representar os dados. Um dos principais algoritmos de aprendizagem de máquina é o Support Vector Machine (SVM) sendo mais comumente treinada por meio da otimização sequencial mínima, o que contribui para um baixo desempenho computacional. Como uma alternativa, algoritmos baseados em Stochastic Gradient Descent (SGD) apresentam melhor escalabilidade e podem ser utilizados como boas opções para o treinamento de algoritmos de aprendizado de máquina. Porém, mesmo com o uso de algoritmos baseados no gradiente estocástico, os tempos de treinamento e inferência podem se tornar grandes dependendo da plataforma de computação empregada. Por esse motivo, aceleradores baseados em Field Programmable Gate Arrays (FPGAs) podem ser utilizados para melhorar o desempenho em termos de velocidade de processamento. Este trabalho propõe uma implementação em FPGA de uma SVM, totalmente paralela com treinamento baseado no SGD. Resultados associados a ocupação em hardware, velocidade de processamento (throughput), e acurácia para o treinamento e inferência em vários formatos de quantização são apresentados.