DIGITAL
ARTIFICIAL INTELLIGENCE
51
- ELETTRONICA OGGI 464 - SETTEMBRE 2017
usando blocchi DSP e la logica
presente nell’FPGA. I blocchi in-
tegrati nell’hardware includono
funzioni a virgola mobile che
contribuiscono a incrementano
ulteriormente il throughput del
dispositivo senza avere alcun
impatto sulla larghezza di banda
della memoria disponibile.
Il diagramma a blocchi riportato
in figura 3 illustra il sistema di
elaborazione e classificazione di un’immagine esemplificativa
che può utilizzare gli FPGA come unità di accelerazione dell’e-
laborazione. Intel PSG mette anche a disposizione una ricca do-
cumentazione e numerosi video relativi all’uso delle reti neurali
convoluzionali che utilizzano FPGA per applicazioni industriali,
medicali e nel settore automotive: tutto questo materiale è reperi-
bile sul sito Web
4
della società.
La selezione del framework per un’applicazione di apprendi-
mento profondo è uno dei passi fondamentali. Per supportare
gli sviluppatori è disponibile un numero crescente di tool come
ad esempio OpenANN
(openann.github.io), una libreria open-
source per le reti neurali artificiali, oltre ai siti di community come
deeplearning.nete
embedded-vision.com. I framework più diffu-
si per progetti di apprendimento profondo che includono sup-
porto per l’uso di OpenCL includono Caffe (caffe.berkeleyvision.
org), basato su C++ e Torch, basato su Lua. DeepCL è un altro
framework che supporta totalmente OpenCL sebbene non sia
ancora così diffuso. I mercati industriali sono pronti a sfruttare le
funzionalità offerti dalle tecniche di “deep learning” basate su reti
neurali in numerose applicazioni di controllo dell’automazione e
della produzione. Iniziative come Industry 4.0 e concetti come
Industrial IoT hanno contribuiti ad alimentare l’esigenza di solu-
zioni di questo tipo.Abbinata a una telecamera di alta qualità, una
CPU, FPGA e ai relativi controlli, una rete neurale convoluzionale
può essere usata, ad esempio, per automatizzare numerosi con-
trolli sui processi di produzione, migliorare la qualità dei prodotti,
nonché l’affidabilità e la sicurezza della fabbrica.
Grazie alla loro struttura logica configurabile dinamicamente,
all’estesa larghezza di banda della memoria e all’efficienza ener-
getica, gli FPGA sono dispositivi ideali per accelerare i layer di
pooling e convoluzionali di una CNN. Grazie alla disponibilità di
numerosi framework open-source supportati da community e
alle librerie di codice di programmazione parallela come Open-
CL, gli FPGA saranno i dispositivi ideali per lo sviluppo di queste
applicazioni. Caratterizzati da elevati livelli di flessibilità e scala-
bilità, gli FPGA sono in grado di soddisfare i molteplici requisiti
delle applicazioni tipiche di numerosi settori industriali.
Riferimenti
1. Figura 1 – FonteWikipedia - Autore Aphex34 - Ownwork, CC BY-SA 4.0
https://commons.wikimedia.org/w/index.php?curid=456793741a - “Using Convolutional Neural Networks for Image Recognition”,
Samer Hijazi, Rishi Kumar e Chris Rowen, IP Group, Cadence,
http://ip.cadence.com/uploads/901/cnn_wp-pdf1b - “TheComputingEarthquake:NeuralNetworks,CognitiveLayering”
http://nfic-2016.ieeesiliconvalley.org/the-computing-earthquake-neural-networks-cognitive-layering/
1c - “I ricercatori Microsoft vincono il concorso di visione artificiale
ImageNet”,
http://blogs.microsoft.com/next/2015/12/10/micro-soft-researchers-win-imagenet-computer-vision-challenge/
2. Figura 2 – “Uso delle reti neurali convoluzionali per il riconoscimento
delle immagini”,
http://ip.cadence.com/uploads/901/cnn_wp-pdf2a - “The open standard for parallel programming of heterogeneous
systems”,
https://www.khronos.org/opencl/3. Figura 3 – “Apprendimento profondo su FPGA, passato, presente e
futuro”,
https://arxiv.org/abs/1602.042834. “Machine Learning”,
https://www.altera.com/solutions/technology/machine-learning/overview.html
Fig. 3 – Diagramma a blocchi di
un sistema di classificazione delle
immagini che utilizza un FPGA
per l’accelerazione (Fonte: Deep
Learning on FPGAs, Past, Present
and Future)3
A
PPROFONDIMENTO
Un approfondimento sul funzionamento delle reti neurali con-
voluzionali è reperibile in questo paper di Cadence
1a
oltre che
su un interessante video
1b
registrato alla conferenza NewFron-
tiers in Computing presso la IEEE Society. La conferma dell’uti-
litàdellaCNNper le applicazioni di elaborazionedelle immagini
è stata ulteriormente rafforzata quando un team di ricerca Mi-
crosoft
1c
ha vinto il concorso ImageNet di visione artificiale.