Detalhes bibliográficos
Ano de defesa: |
2017 |
Autor(a) principal: |
Noronha, Daniel Holanda |
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: |
Não Informado pela instituição
|
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: |
|
Área do conhecimento CNPq: |
|
Link de acesso: |
https://repositorio.ufrn.br/jspui/handle/123456789/24416
|
Resumo: |
A importância do uso de FPGAs como aceleradores vem crescendo fortemente nos últimos anos. Companhias como Amazon e Microsoft estão incorporando FPGAs em seus data centers, objetivando especialmente acelerar algoritmos em suas ferramentas de busca. No centro dessas aplicações estão algoritmos de aprendizado de máquina, como é o caso da Máquina de Vetor de Suporte (SVM). Entretanto, para que essas aplicações obtenham a aceleração desejada, o uso eficiente dos recursos das FPGAs é necessário. O projeto possui como objetivo a implementação paralela em hardware tanto da fase feed-forward de uma Máquina de Vetores de Suporte (SVM) quanto de sua fase de treinamento. A fase feed-forward (inferência) é implementada utilizando o kernel polinomial e de maneira totalmente paralela, visando obter a máxima aceleração possível ao custo de uma maior utilização da área disponível. Além disso, a implementação proposta para a inferência é capaz de computar tanto a classificação quanto a regressão utilizando o mesmo hardware. Já o treinamento é feito utilizando Otimização Sequencial Mínima (SMO), possibilitando a resolução da complexa otimização da SVM através de passos simples. A implementação da SMO também é feita de modo extremamente paralelo, fazendo uso de técnicas para aceleração como a cache do erro. Ademais, o Kernel Amigável ao Hardware (HFK) é utilizado para diminuir a área utilizada pelo kernel, permitindo que um número maior de kernels seja implementado em um chip de mesmo tamanho, acelerando o treinamento. Após a implementação paralela em hardware, a SVM é validada por simulação e são feitas análises associadas ao desempenho temporal da estrutura proposta, assim como análises associadas ao uso de área da FPGA. |