DIGITAL
ARTIFICIAL INTELLIGENCE
49
- ELETTRONICA OGGI 464 - SETTEMBRE 2017
L’
intelligenza artificiale (IA) è stata per molti anni un tema
ispiratore sia per gli scrittori di fantascienza sia per gli
scienziati. La sfida di replicare la complessità del cer-
vello umano in un computer ha permeato l’opera di una nuova
generazione di scienziati, matematici e sviluppatori di algoritmi.
L’inarrestabile ricerca ha condotto all’uso dell’IA (a cui spesso
si fa riferimento con i termini “Deep Learning” – apprendimen-
to profondo – o apprendimento automatico) in applicazioni che
stanno trovando sempre più spazio nel mondo reale. Se da un
lato i concetti base sono oggetto di studio da molti anni, la loro
trasposizione in prodotti commerciali non ha finora riscosso
molto successo. Negli ultimi tempi, la velocità con cui i dati ven-
gono generati è aumentata in maniera esponenziale e gli svilup-
patori hanno dovuto affrontare un compito molto impegnativo,
ovvero lo sviluppo di algoritmi idonei a estrarre i dati significa-
tivi e realizzare statistiche adeguate. Un altro fattore critico era
rappresentato dalla disponibilità di risorse di elaborazione ca-
ratterizzate da un elevato livello di scalabilità; in tale contesto il
cloud si è rivelato una risorsa utile. Ad esempio, gli smartphone
possono usare interfacce utente in lingua naturale come Google
Now (“OK Google”) o Apple Siri che si avvalgono delle poten-
zialità di algoritmi di “deep learning” (apprendimento profondo),
una trasposizione moderna delle reti neurali, per implementare il
riconoscimento vocale e funzionalità di apprendimento. Ma oltre
al divertimento e all’utilità di poter “parlare al proprio cellulare”,
Reti neurali per applicazioni
di visione artificiale
Rich Miron
Technical content engineer
Digi-Key
Sono oramai numerose le applicazioni, in ambito
industriale, automotive e commerciale che
stanno iniziando a sfruttare le potenzialità offerte
dalle tecniche di deep learning che utilizzano reti
neurali; tra le più interessanti vi sono quelle di
riconoscimento delle immagini
esiste un ampio ventaglio di applicazioni industriali, automotive
e commerciali che stanno iniziando a sfruttare le potenzialità of-
ferte dalle tecniche di deep learning che utilizzano reti neurali.
La rete neurale convoluzionale
Prima di esaminare alcune di queste applicazioni, un breve ri-
passo sul funzionamento di una rete neurale e delle risorse ne-
cessarie. Quando si parla di reti neurali è necessario essere più
precisi e descriverle con il termine reti neurali artificiali. Imple-
mentate sotto forma di algoritmi software, sono basate sul prin-
cipio di funzionamento delle reti neurali biologiche, il sistema
nervoso centrale degli esseri umani e animali. Nel corso degli
anni sono stati concepiti molti tipi diversi di architetture di rete
neurale e la rete neurale convoluzionale (CNN – Convolutional
Neural Network) è l’architettura che ha conosciuto la maggiore
diffusione. Una delle principali ragioni è rappresentata dal fatto
che l’approccio architetturale adottato è
perfettamente compatibile con l’impiego
delle tecniche di parallelizzazione tipi-
che degli acceleratori hardware basati
suGPU e FPGA. Un altromotivo alla base
della popolarità delle CNN è che queste
ultime risultano particolarmente adatte
a operare sui dati su dati caratterizzati
da un’elevata continuità spaziale: in un
contesto di questo tipo, le applicazioni
di elaborazione dell’immagine sono un
target perfetto. La continuità spaziale si
riferisce al fatto che i pixel che si provano in prossimità di una
posizione specifica condividono intensità e caratteristiche di co-
lore simili. Dal punto di vista architetturale, le CNN sono compo-
ste da diversi strati (layer), ciascuno dei quali assolve uno spe-
cifico scopo e il loro funzionamento prevede due fasi distinte. La
prima è una fase di istruzione o di addestramento che consente
all’algoritmo di elaborazione di comprendere quali dati ha a di-
sposizione e la relazione o il contesto esistente tra ogni pezzo di
dati. La CNN viene creata come framework di apprendimento
Fig. 1 – Approccio basato su layer di una CNN (Fonte: Wikipedia – Autore: Aphex34
1
)