Neural Networks are achieving state of the art results across a range of very sophisticated machine learning problems such as recognition of image and voice, optimization problems, planning and management tasks, physics simulation and others. Convolutional Neural Networks (CNN) have become standard when it comes to such tasks. Their high computational complexity and memory requirement makes them challenging for more platforms. This explains a high demand in methods for fast computation in resource and power efficient way. One such an approach is specified Hardware accelerator. In this work, we focused on analyzing parallelism in CNN structure and development of specialized hardware on FPGA to fully exploit it. In addition to a conventional approach, we consider a fusing convolution among more networks layers. The main benefit of fused configuration is the save in external memory transfers, but we also show this benefit does not affect the performance. Moreover, for the Vgg16 network as a case study, we achieve average speed-up of 1.6 times and saving up to 72% of memory transaction when we compare with not fused version.

Le reti neurali rappresentano lo stato dell’arte nella soluzione di un’ampia gamma di problemi di machine learning molto sofisticati come: riconoscimento delle immagini e vocale, problemi di ottimizzazione, pianificazione e gestione di task, simulazione fisica e molti altri. Le reti neurali convoluzionali (CNNs, dall’inglese Convolutional Neural Networks) sono diventate lo standard per quanto riguarda questi compiti. La loro elevata complessità computazionale, nonché i notevoli requisiti a livello di memoria, rendono il loro utilizzo impegnativo su diverse piattaforme. Ciò spiega l’alta richiesta di metodologie per una computazione più veloce e più efficiente dal punto di vista sia dell’utilizzo delle risorse che del consumo di potenza; una di queste metodologie è l’impiego di acceleratori hardware dedicati. Questa tesi si concentra sull’analisi del parallelismo nella struttura di una CNN e sull’implementazione su FPGA di hardware ad-hoc che lo sfrutti pienamente. Oltre ad un approccio convenzionale è stata considerata la fusione della convoluzione attraverso più livelli della rete. Il beneficio principale di questo approccio è la riduzione di trasferimenti da e verso la memoria esterna, senza tuttavia andare a incidere sulle prestazioni. Inoltre, per la rete neurale Vgg 16 trattata come caso di studio, i risultati ottenuti mostrano un incremento della velocità media del 60% e un risparmio delle transazioni di memoria pari al 72% rispetto alla versione non-fused.

Hardware accelerators of convolutional neural networks. Fused-layer approach

BABIC, DANIJELA
2017/2018

Abstract

Neural Networks are achieving state of the art results across a range of very sophisticated machine learning problems such as recognition of image and voice, optimization problems, planning and management tasks, physics simulation and others. Convolutional Neural Networks (CNN) have become standard when it comes to such tasks. Their high computational complexity and memory requirement makes them challenging for more platforms. This explains a high demand in methods for fast computation in resource and power efficient way. One such an approach is specified Hardware accelerator. In this work, we focused on analyzing parallelism in CNN structure and development of specialized hardware on FPGA to fully exploit it. In addition to a conventional approach, we consider a fusing convolution among more networks layers. The main benefit of fused configuration is the save in external memory transfers, but we also show this benefit does not affect the performance. Moreover, for the Vgg16 network as a case study, we achieve average speed-up of 1.6 times and saving up to 72% of memory transaction when we compare with not fused version.
ERDEM, AHMET
ING - Scuola di Ingegneria Industriale e dell'Informazione
3-ott-2018
2017/2018
Le reti neurali rappresentano lo stato dell’arte nella soluzione di un’ampia gamma di problemi di machine learning molto sofisticati come: riconoscimento delle immagini e vocale, problemi di ottimizzazione, pianificazione e gestione di task, simulazione fisica e molti altri. Le reti neurali convoluzionali (CNNs, dall’inglese Convolutional Neural Networks) sono diventate lo standard per quanto riguarda questi compiti. La loro elevata complessità computazionale, nonché i notevoli requisiti a livello di memoria, rendono il loro utilizzo impegnativo su diverse piattaforme. Ciò spiega l’alta richiesta di metodologie per una computazione più veloce e più efficiente dal punto di vista sia dell’utilizzo delle risorse che del consumo di potenza; una di queste metodologie è l’impiego di acceleratori hardware dedicati. Questa tesi si concentra sull’analisi del parallelismo nella struttura di una CNN e sull’implementazione su FPGA di hardware ad-hoc che lo sfrutti pienamente. Oltre ad un approccio convenzionale è stata considerata la fusione della convoluzione attraverso più livelli della rete. Il beneficio principale di questo approccio è la riduzione di trasferimenti da e verso la memoria esterna, senza tuttavia andare a incidere sulle prestazioni. Inoltre, per la rete neurale Vgg 16 trattata come caso di studio, i risultati ottenuti mostrano un incremento della velocità media del 60% e un risparmio delle transazioni di memoria pari al 72% rispetto alla versione non-fused.
Tesi di laurea Magistrale
File allegati
File Dimensione Formato  
2018_09_Babic.pdf

non accessibile

Dimensione 2.45 MB
Formato Adobe PDF
2.45 MB Adobe PDF   Visualizza/Apri

I documenti in POLITesi sono protetti da copyright e tutti i diritti sono riservati, salvo diversa indicazione.

Utilizza questo identificativo per citare o creare un link a questo documento: https://hdl.handle.net/10589/142953