Una rete neurale è un modello computazionale utilizzato per risolvere problemi ingegneristici di intelligenza artificiale; essenzialmente è una combinazione di software e hardware dedicato (DSP, Digital Signal Processing). A livello tecnico, una delle sfide più grandi è la quantità di tempo necessario per addestrare le reti, che può richiedere una notevole quantità di potenza di elaborazione per attività più complesse.
La previsione accurata dei valori futuri dei dati è cruciale per le decisioni strategiche come la pianificazione del budget e l'allocazione efficiente delle risorse. Tuttavia, la previsione può essere molto impegnativa, specialmente quando vi sono elementi di incertezza, tra cui disastri naturali, cambiamenti nelle politiche governative e condizioni meteorologiche.
I più recenti progressi nei sistemi di intelligenza artificiale come i programmi di riconoscimento vocale o facciale sono venuti per gentile concessione di reti neurali, reti fittamente interconnesse di semplici processori di informazioni che imparano a svolgere compiti analizzando enormi serie di dati di addestramento. Le reti neurali consumano molta energia, quindi non sono molto pratici per i dispositivi portatili. La maggior parte delle app per smartphone che si basano su reti neurali semplicemente carica i dati su server internet, che li elaborano e inviano i risultati al telefono. Le reti neurali apprendono i criteri da soli e applicano tale "conoscenza" a operazione di precisione.
I ricercatori del MIT hanno sviluppato un chip speciale che aumenta la velocità dei calcoli della rete neurale da tre a sette volte rispetto ai suoi predecessori, riducendo al contempo il consumo di energia di oltre il 90%. Ciò potrebbe rendere pratico l'uso di reti neurali localmente sugli smartphone o addirittura di incorporarle negli elettrodomestici.
Le reti neurali sono generalmente disposte in strati. Un singolo nodo di elaborazione in uno strato della rete generalmente riceve i dati da diversi nodi nel livello sottostante e li passa ad altri nel livello superiore. Ogni connessione tra i nodi ha il suo "peso". Nel chip, i valori di input di un nodo vengono convertiti in tensioni elettriche e quindi moltiplicati per i pesi appropriati. Sommando i prodotti si tratta semplicemente di combinare le tensioni. Solo le tensioni combinate vengono riconvertite in una rappresentazione digitale e memorizzate per ulteriori elaborazioni. Tutto questo aprirà la possibilità di utilizzare reti neurali convoluzionali più complesse per la classificazione di immagini e video nell'IoT nel prossimo futuro.
Si sente parlare di Reti Neurali da decine d’anni. Eppure le Reti Neurali odierne cominciano a farmi un po’ paura…
La paura c’è e ci sarà sempre ma sicuramente non deve essere un limite per il progresso ed il futuro. A volte penso a come siamo molto più preoccupati da ciò che è programmabile e controllabile che dall’imprevedibilità umana. Un esempio è la guida autonoma che è in grado di evitare migliaia di tipologie di incidenti che ogni giorno avvengono a causa di distrazioni, colpi di sonno di noi umani.
Fino a qualche anno fa le reti neurali erano state accantonate soprattutto per la difficoltà di capirne a pieno il funzionamento e questo è un aspetto fondamentale per evitare errori.
Reti neurali, machine learning e deep learning sono ormai parte integrante delle tecnologie attuali. Internet, social network e hi-tech sono i settori in cui le reti neurali rivestono un ruolo sempre più importante. ARM, uno dei principali sviluppatori di core processor e SoC, ha recentemente annunciato la realizzazione di due chip progettati per l’AI: uno per il machine learning (ML) e uno per il riconoscimento degli oggetti (OD, Object Detection). E’ molto probabile che a breve saranno disponibili su alcuni modelli di smartphone.
I modelli di reti neurali sono implementati nei sistemi di controllo dei veicoli e di controllo dei processi. Quello del controllo automatico è un ambito di grande interesse per l’applicazione di reti neurali.
Le reti neurali che forniscono i risultati più strabilianti sono quelle che provengono da vera e propria ‘selezione genetica Darwiniana’ (considerando il ‘vettore’ di inizializzazione dei coefficienti della rete alla stregua di un DNA, facendo cracking del DNA e creando successivamente migliaia di ‘generazioni’ di macchine alle quali sottoporre programmi automatici di autoapprendimento… fino alla ‘scoperta’ della macchina che, superata l’evoluzione, traguarda il risultato!
Antonio
Grazie per la tua osservazione, Antonio. Questa tecnica di inizializzazione dei coefficienti della rete dimostra ulteriormente come vi siano forti similitudini tra le reti neurali artificiali e l’organismo umano, al quale molti modelli matematici si ispirano.