Table of Contents Table of Contents
Previous Page  51 / 102 Next Page
Information
Show Menu
Previous Page 51 / 102 Next Page
Page Background

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.net

e

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=45679374

1a - “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-pdf

1b - “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-pdf

2a - “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.04283

4. “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.