Wiki

Cos’è una rete neurale artificiale

Definizione di una rete neurale

Ci sono molte cose che i computer possono fare meglio degli umani: calcolare le radici quadrate o recuperare una pagina web istantaneamente, ma il cervello umano è ancora un passo avanti quando si tratta di buon senso, ispirazione e immaginazione. Ispirate alla struttura del cervello, le reti neurali artificiali (ANN) sono la risposta per rendere i computer più umani e aiutare le macchine a ragionare più come l’uomo farebbe.

I cervelli umani interpretano il contesto delle situazioni del mondo reale in un modo che i computer non possono. Le reti neurali furono sviluppate per la prima volta negli anni ’50 per affrontare questo problema. Una rete neurale artificiale è un tentativo di simulare la rete di neuroni che costituiscono un cervello umano in modo che il computer sia in grado di imparare le cose e prendere decisioni in modo umano. Le ANN vengono create programmando i normali computer per comportarsi come se fossero cellule cerebrali interconnesse.


Questa serie di video spiega in modo divertente ed estremamente semplificato il funzionamento delle reti neurali artificiali

Struttura e funzione

Le reti neurali artificiali utilizzano diversi livelli di elaborazione matematica per dare un senso alle informazioni che vengono alimentate. Tipicamente, una rete neurale artificiale può avere dozzine a milioni di neuroni artificiali, chiamate unità, disposte in una serie di strati. Lo strato di unità che legge gli input riceve varie forme di informazioni dal mondo esterno. Questi sono i dati che la rete intende elaborare o conoscere. Dall’unità di input, i dati passano attraverso una o più unità intermedie anche note come “hidden layer” o “strati nascosti”. Il lavoro delle unità nascoste è di trasformare l’input in qualcosa che l’unità di output può usare.

La maggior parte delle reti neurali sono completamente collegate da uno strato all’altro. Queste connessioni sono ponderate; più alto è il numero, maggiore è l’influenza che un’unità ha su un’altra, simile a un cervello umano. Mentre i dati passano attraverso ogni unità, la rete sta imparando di più sui dati. Dall’altro lato della rete ci sono le unità di output, ed è qui che la rete genera output in risposta ai dati che gli sono stati dati ed ha elaborato.

Processo di apprendimento e output

I neuroscienziati hanno appreso un’enorme quantità di nuove informazioni sul cervello umano da quando gli informatici tentarono per la prima volta a costruire una rete neurale artificiale. Una delle cose che hanno imparato è che diverse parti del cervello sono responsabili dell’elaborazione di diversi aspetti dell’informazione e queste parti sono organizzate gerarchicamente. Quindi, l’input arriva nel cervello e ogni livello di neuroni fornisce informazioni e quindi l’informazione viene passata al livello successivo, più avanzato. Questo è precisamente il meccanismo che le reti neurali artificiali (ANN) stanno cercando di replicare.

neural net2 - Cos'è una rete neurale artificiale

Affinché le ANN imparino, devono avere una quantità enorme di informazioni importate nei loro sistemi, queste sono chiamate set di allenamento. Se stessi cercando di insegnare ad una ANN come distinguere un gatto dal cane, il set di allenamento fornirebbe migliaia di immagini etichettate come un cane, così che la rete inizierebbe ad imparare. Una volta addestrata con una notevole quantità di dati, cercherà di classificare i dati futuri in base a ciò che pensa di vedere (o sentire, a seconda del set di dati) attraverso le diverse unità. Durante il periodo di allenamento, la produzione della macchina viene confrontata con la descrizione fornita dall’uomo di ciò che dovrebbe essere osservato. Se sono uguali, la macchina è convalidata. Se non è corretto, effettua una lettura all’indietro per regolare il suo apprendimento, tornando attraverso i livelli per modificare l’equazione matematica. Questo sistema, conosciuto come deep learning, è ciò che rende una rete intelligente.

Applicazioni nella vita reale

Esistono diversi modi in cui possono essere implementate reti neurali artificiali. Poiché le reti elaborano e apprendono dai dati, possono classificare un determinato set di dati in una classe predefinita, possono essere addestrate a prevedere gli output attesi da un determinato input e possono identificare una caratteristica speciale dei dati per classificare i dati in base a tale speciale caratteristica. Google utilizza una rete neurale a 30 livelli per alimentare Google Foto e per alimentare i suoi consigli “guarda il prossimo video” per i video di YouTube. Facebook utilizza reti neurali artificiali per il suo algoritmo DeepFace, che può riconoscere volti specifici con un’accuratezza del 97%. È anche una ANN che abilita la capacità di Skype di fare traduzioni in tempo reale.

I nuovi computer hanno una avanzata capacità di comprendere il mondo che li circonda in modo umano grazie alla potenza delle reti neurali artificiali.

La rete neurale apre la strada all’AI quantica

Alcuni ricercatori italiani hanno recentemente sviluppato la prima rete neurale quantistica (QNN) funzionante eseguendo uno speciale algoritmo su un computer quantistico.

Il team, guidato da Francesco Tacchino dell’Università di Pavia in Italia, ha pre-pubblicato le proprie ricerche su ArXiv all’inizio di questo mese in un documento di ricerca intitolato “Un neurone artificiale implementato su un processore quantistico effettivo”. Fondamentalmente, hanno sviluppato una rete neurale artificiale a singolo strato (ANN) che gira su un computer quantico. Questo tipo di ANN rudimentale è chiamato perceptron ed è il componente base di reti neurali più robuste.

Mentre i ricercatori apprendono di più sulle ANN e gli ingegneri sviluppano sistemi di calcolo quantistico più avanzati, è possibile che una nuova classe di apprendimento automatico arriverà a sostituire le vecchie reti di deep learning classico.

I computer intelligenti di domani non saranno né basati su AI né su computer quantici, saranno entrambi.

Neural Network vs Deep Neural Network

Come possiamo osservare, una caratteristica principale delle reti neurali sono gli hidden layer, ovvero il vero e proprio centro operativo di queste complesse strutture. La presenza di uno o più hidden layer ci permette di distinguere tra i classici Neural Network e i più complessi Deep Neural Network; questi ultimi sono alla base del funzionamento di tecnologie di Deep Learning.

OH3gI - Cos'è una rete neurale artificiale

Come l’immagine qui sopra rende ben chiaro, la principale differenza tra queste due strutture è semplicemente nel numero degli hidden layer contenuti nel ANN.
Si parla di Deep neural network (DNN) quando gli hidden layer sono più di uno, in caso contrario si parla di classici neural network (ANN).

Tuttavia la differenza non e’ puramente estetica e strutturale, come é facile immaginare aggiungere uno o più starti di hidden layer comporta anche delle differenze a livello funzionale e produttivo.

Quindi, quale è la principale differenza nelle funzioni di DNN e ANN?

Osservando il grafico sottostante (fonte: Deep Learing Book), possiamo notare come l’aumento nel numero di hidden layers corrisponde ad una maggiore accuratezza nel output dato dalla rete neurale.

trj4L - Cos'è una rete neurale artificiale

La parte sorprendente di tuto ciò è che, nonostante ci siano numerosi casi studio che provino come i DNN siano più funzionali degli ANN, non è ancora stata trovata una risposta logica a questa domanda.