Automazione e Strumentazione
Gennaio/Febbraio 2018
VISIONE ARTIFICIALE
applicazioni
69
lizzare l’unità di inferenza e contiene funzioni
come Conv, ReLu, Pooling e altre.
Anche i sistemi di rappresentazione dei numeri
usati all’interno delle implementazioni delle unità
di inferenza per l’apprendimento automatico gio-
cano un ruolo significativo nel determinare le sue
prestazioni. Le applicazioni di apprendimento
automatico usano sempre più spesso sistemi
numerici più efficienti a virgola fissa con preci-
sione ridotta, come la rappresentazione INT8.
L’uso di questi sistemi non comporta una perdita
significativa in accuratezza rispetto ad un approc-
cio tradizionale a virgola mobile a 32 bit (FP32).
Essendo la matematica su virgola fissa considere-
volmente più semplice da implementare rispetto
a quella su virgola mobile, questo passaggio a
INT8 fornisce
soluzioni più efficienti e veloci
in alcune realizzazioni. L’uso di sistemi nume-
rici a virgola fissa è ideale per l’implementazione
all’interno di una soluzione in logica program-
mabile, e ReVision fornisce la capacità di lavo-
rare con rappresentazioni INT8 all’interno della
logica programmabile. Queste rappresentazioni
INT8 consentono l’uso di blocchi DSP dedicati
all’interno della PL. L’architettura di questi bloc-
chi DSP consente di eseguire fino a due opera-
zioni di moltiplicazione e accumulo simultanee
in formato INT8 quando si usano gli stessi pesi
del kernel. Ciò assicura non solo un’esecuzione
ad alte prestazioni, ma anche una
riduzione dei
consumi di potenza
. La natura flessibile della
logica programmabile consente anche la semplice
implementazione di ulteriori sistemi di rappresen-
tazione numerica a virgola fissa con precisione
ridotta, una volta che essi vengono adottati.
Conclusione
ReVision fornisce agli sviluppatori la capacità
di sfruttare le funzionalità fornite dai dispositivi
Zynq-7000 e dagli MPSoC Zynq UltraScale+. Ciò
è vero soprattutto perché non è necessario essere
uno specialista per implementare gli algoritmi
usando la logica programmabile. Questi algoritmi
e le applicazioni di apprendimento automatico
possono essere implementati usando ambienti
standard di alto livello, che
riducono il tempo di
sviluppo del sistema
. Ciò aiuta lo sviluppatore a
realizzare un sistema che fornisca maggiore reat-
tività, sia più riconfigurabile e offra una soluzione
ottimale dal punto di vista dei consumi.