polito.it
Politecnico di Torino (logo)

Metodologie di Progettazione Automatica di Reti Neurali Non Ricorrenti su FPGA = Automatic Design Methods for Non-Recurrent Artificial Neural Networks on FPGA

Luciano Prono

Metodologie di Progettazione Automatica di Reti Neurali Non Ricorrenti su FPGA = Automatic Design Methods for Non-Recurrent Artificial Neural Networks on FPGA.

Rel. Gianluca Setti. Politecnico di Torino, Corso di laurea magistrale in Ingegneria Elettronica (Electronic Engineering), 2019

[img]
Preview
PDF (Tesi_di_laurea) - Tesi
Licenza: Creative Commons Attribution Non-commercial No Derivatives.

Download (2MB) | Preview
[img] Archive (ZIP) (Documenti_allegati) - Altro
Licenza: Creative Commons Attribution Non-commercial No Derivatives.

Download (12MB)
Abstract:

Al giorno d’oggi l’elaborazione avanzata dei segnali si basa su algoritmi di complessità crescente che richiedono l’uso di strutture dedicate come le Artificial Neural Network (ANN). Queste architetture di calcolo altamente specializzate sono in grado di risolvere un ampio raggio di problemi anche quando manca uno specifico modello necessario per l’elaborazione di una soluzione, garantendo risultati anche per operazioni di complessità notevole. Le ANN sono capaci di aiutare in problemi come l’estrazione di informazioni da immagini o video, il riconoscimento del discorso o del linguaggio, la rilevazione di malattie basata sull’imaging medico, il controllo di bracci robotici, robot terrestri o quadricotteri e molto altro. Grandi compagnie dell’IT come Google o Microsoft tendono a ottenere un’accuratezza crescente per le loro reti incrementando aggressivamente la loro complessità in termini di profondità (numero di layer) e dimensione (neuroni per layer). Questo risulta in sistemi composti da migliaia di processori che consumano centinaia di kilo-watt. Questo è intrinsecamente incompatibile con molte aree di applicazione come l’acquisizione di segnali biomedici attraverso reti di nodi su aree del corpo che richiede sistemi piccoli e a basso consumo. Se l’obiettivo è la prototipazione rapida di questi nodi, ci sono principalmente due possibilità: i microcontrollori e gli FPGA. Mentre l’implementazione della ANN su microcontrollore a livello software è piuttosto immediata, lo stesso non si può dire per l’implementazione a livello hardware su FPGA. Allo stesso tempo ci si aspetta che l’implementazione su FPGA sia più efficiente sia in termini di consumi energetici che di velocità di calcolo. Lo scopo di questo lavoro è la progettazione di una struttura completamente parametrizzata descritta in un linguaggio di descrizione dell’hardware (VHDL) capace di generare automaticamente l’ANN desiderata. Con questo approccio un progettista sarebbe capace di generare un’intera ANN funzionante utilizzando un tempo comparabile se non inferiore a quello speso scrivendo il software su microcontrollore. Le ANN generate in questo modo sono non ricorrenti e comprendono layer fully connected, convolutivi e max-pooling; il progettista può scegliere il numero e il tipo di layer, il numero di neuroni impiegati e persino il numero di operazioni parallele effettuate. Queste architetture vengono testate e le loro prestazioni vengono confrontate con l’equivalente funzionale che si ottiene programmando su microcontrollore: in questo modo si dimostra l’effettiva utilità di questo tipo di approccio. Per esempio, una ANN fully connected con 32-32-3 neuroni impiega 750 ns e 100 nJ per operazione su Intel Cyclone 10 FPGA, mentre su microcontrollore ARM Cortex M4 impiega 3.5 μs e 300 nJ.

Relatori: Gianluca Setti
Anno accademico: 2018/19
Tipo di pubblicazione: Elettronica
Numero di pagine: 152
Soggetti:
Corso di laurea: Corso di laurea magistrale in Ingegneria Elettronica (Electronic Engineering)
Classe di laurea: Nuovo ordinamento > Laurea magistrale > LM-29 - INGEGNERIA ELETTRONICA
Aziende collaboratrici: NON SPECIFICATO
URI: http://webthesis.biblio.polito.it/id/eprint/11018
Modifica (riservato agli operatori) Modifica (riservato agli operatori)