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

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

)