Willian de Assis Pedrobon Ferreira – Faculdade de Engenharia de Ilha Solteira, Universidade Estadual Paulista “Júlio de Mesquita Filho” – (UNESP). Ilha Solteira, Brasil. e-mail: [email protected]
Ian Grout – Departamento de Engenharia Elétrica e de Computação Universidade de Limerick – (UL). Limerick, Irlanda. e-mail: [email protected]
Alexandre César Rodrigues da Silva – Faculdade de Engenharia de Ilha Solteira, Universidade Estadual Paulista “Júlio de Mesquita Filho” – (UNESP). Ilha Solteira, Brasil. e-mail: [email protected]


RESUMO: Neste artigo apresenta- se a implementação em hardware, utilizando uma FPGA (field programmable gate array) da arquitetura customizável de um algoritmo de regressão linear. As operações aritméticas foram otimizadas utilizando-se números em notação de ponto fixo. Um conjunto de dados de treinamento modelados em ponto flutuante
foi gerado e armazenado em um computador, que os converteram em ponto fixo para serem transmitidos para a FPGA por meio de uma conexão serial. O circuito digital que corresponde ao algoritmo de regressão linear foi descrito em VHDL, sintetizado no ambiente Quartus II e implementado no dispositivo DE2-115 da Intel. A execução do algoritmo de regressão linear utiliza operações matriciais da álgebra linear considerando um conjunto de dados de treinamento de tamanho fixo. Para validar os cálculos em ponto fixo executados em hardware, o algoritmo da regressão linear também foi implementado na linguagem de programação Python e os resultados obtidos pelas duas abordagens foram comparados. A modelagem em ponto fixo proposta em hardware gerou resultados com precisão adequada para a finalidade do estudo de caso e o consumo de energia do sistema embarcado em FPGA foi estimado em 136.82 mW. Palavras-chave: Aprendizado de máquina, regressão linear, hardware, operações aritméticas em ponto fixo, FPGA.

INTRODUÇÃO

Atualmente, o aprendizado de máquina tornou-se uma importante área de pesquisa da inteligência artificial. Esta importância decorre da possibilidade de se desenvolver sistemas de classificação inteligentes baseados em algoritmos de aprendizagem, que extraem informações de ambientes monitorados e permitem a predição de novos eventos. Os algoritmos inteligentes aumentaram a capacidade cognitiva das interfaces computacionais e melhoraram a eficácia dos serviços autônomos em uma grande variedade de aplicações.
Uma das áreas de aplicação dos algoritmos de aprendizado de máquina é a internet das coisas, ou IoT (Internet of things), cujo propósito é criar redes de dispositivos computacionais embarcados que oferecem interação homem-máquina por meio do compartilhamento de informações. Com a implementação de algoritmos inteligentes, dispositivos eletrônicos são capazes de se adaptar de maneira autônoma de acordo com os padrões existentes nos ambientes em que estão inseridos, e assim auxiliar em várias tarefas que antigamente eram executadas por seres humanos.

A associação da IoT com o aprendizado de máquina gera novos desafios para os sistemas inteligentes embarcados. A complexidade do processamento das informações vem aumentando a cada dia devido ao grande número de dispositivos interconectados. Extensos bancos de dados podem armazenar informações obtidas dos mais variados tipos de sensores empregados nas milhares de aplicações da IoT. Cabe salientar a necessidade da transmissão de dados amostrados em curtos períodos de tempo. A densa quantidade de dados influencia diretamente na implementação de algoritmos de aprendizado, principalmente no desenvolvimento de sistemas de IoT que executam os algoritmos nos próprios dispositivos embarcados. É necessário gerenciar o armazenando dos dados
para executar eficientemente o treinamento dos algoritmos que devem operar em um determinado período de tempo. Esta é uma área de pesquisa com alta demanda [12].

Figura 1 – Balanço entre desempenho e flexibilidade de dispositivos eletrônicos digitais.

São várias as opções de dispositivos digitais para implementar sistemas embarcados, que podem ser mais apropriados de acordo com a aplicação desejada. Apresenta-se na Figura 1 uma comparação realizada por Andina [1] entre o desempenho e a flexibilidade dos principais dispositivos eletrônicos digitais. Devido à demanda de desempenho dos algoritmos de aprendizado de máquina, sistemas embarcados baseados em microcontroladores podem apresentar gargalos de processamento. O uso de ASICs (application specific integrated circuits) pode atender os requerimentos de processamento, contudo, a arquitetura fixa e alto custo de implementação os tornam menos flexíveis para implementar sistemas de aprendizado customizáveis. Como uma alternativa, as FPGAs tornam- se a opção mais balanceada entre desempenho e flexibilidade para implementarem sistemas embarcados inteligentes.

Para ler o artigo na íntegra, clique no link abaixo:

https://www.creasp.org.br/arquivos/revista/revista1_artigo6_-_Implementacao.pdf


Confira a publicação completa e outras matérias técnicas no site do CREA-SP

https://www.creasp.org.br/arquivos/revista/revistadigital1.pdf

Revista CREA São Paulo

Os artigos técnicos e matérias assinadas são de total responsabilidade de seus autores e não expressam necessariamente a opinião da administração do Crea-SP
Contato: [email protected] www.creasp.org.br