Reti neurali e Deep Learning

13 giugno 2018
Sohrob Kazerounian
Distinguished AI Researcher
Reti neurali e Deep Learning

Che cos'è l'apprendimento profondo?

L'apprendimento profondo si riferisce a una famiglia di algoritmi di apprendimento automatico che possono essere utilizzati per l'apprendimento supervisionato, non supervisionato e con rinforzo. Questi algoritmi stanno diventando popolari dopo molti anni di abbandono. Il nome deriva dalla consapevolezza che l'aggiunta di un numero crescente di strati in una rete neurale consente al modello di apprendere rappresentazioni sempre più complesse dei dati. Ispirato alla struttura e alla funzione biologica dei neuroni nel cervello, l'apprendimento profondo si basa su grandi reti interconnesse di neuroni artificiali.

Cosa sono le reti neurali?

I modelli di reti neurali artificiali si ispirano ai circuiti biologici che costituiscono il cervello umano. Le reti neurali artificiali sono state create per mostrare come i circuiti biologici potessero calcolare o determinare i valori di verità degli enunciati proposizionali nella logica del primo ordine. Le reti neurali apprendono le caratteristiche rilevanti da un insieme di dati e costruiscono rappresentazioni sempre più complesse di queste caratteristiche man mano che i dati passano a livelli di rete superiori.

La comprensione delle reti neurali da parte di Warren S. McCullough e Walter Pitts

Warren S. McCullough e Walter Pitts hanno mostrato come costruire una serie di porte logiche in grado di calcolare i valori di verità binari. I neuroni del loro modello sono unità individuali che integrano l'attività di altri neuroni. Ogni connessione tra i neuroni è ponderata per simulare l'efficacia sinaptica, ossia la capacità di un neurone presinaptico di attivare un neurone postsinaptico.

Anche se hanno considerato la sequenza temporale dell'elaborazione e hanno voluto includere cicli di feedback, i loro modelli non sono stati in grado di apprendere o adattarsi.

neuroni e loro interconnessioni e reti neuronali
A sinistra: un disegno dei neuroni e delle loro interconnessioni realizzato dal neuroanatomista Ramon y Cajal.
A destra: Disegni di "reti di neuroni" di McCullough e Pitts, progettati per elaborare affermazioni logiche.

L'apprendimento delle reti neurali spiegato

Sebbene esistano diverse regole di apprendimento per addestrare una rete neurale, nella sua forma più elementare l'apprendimento può essere concepito come segue: A una rete neurale viene presentato un input e l'attività si propaga attraverso la serie di neuroni interconnessi fino a raggiungere una serie di neuroni di uscita.‍

Questi neuroni di uscita determinano il tipo di previsione che la rete fa. Ad esempio, per riconoscere le cifre scritte a mano, potremmo avere 10 neuroni di uscita nella rete, uno per ciascuna delle cifre comprese tra 0 e 9. Il neurone con la maggiore attività in risposta all'immagine di una cifra indica quale cifra è stata vista. All'inizio, i pesi tra i neuroni sono impostati su valori casuali e le prime previsioni sulla presenza di una cifra in un'immagine saranno casuali. Man mano che viene presentata un'immagine, i pesi possono essere regolati in modo da avere maggiori probabilità di fornire la risposta corretta la volta successiva che viene visualizzata un'immagine simile.‍

Regolando i pesi in questo modo, una rete neurale può imparare quali caratteristiche e rappresentazioni sono rilevanti per prevedere correttamente la classe dell'immagine, invece di richiedere che questa conoscenza sia predeterminata a mano.‍

Sebbene qualsiasi procedura per aggiornare i pesi in questo modo possa essere sufficiente - per esempio, le leggi biologiche di apprendimento, gli algoritmi evolutivi e l'annealing simulato - il metodo principale utilizzato oggi è noto come backpropagation.

L'algoritmo backprop, scoperto più volte da diversi ricercatori a partire dagli anni '60, applica effettivamente la regola della catena per ricavare matematicamente il modo in cui l'output di una rete cambia rispetto alle variazioni dei suoi pesi. Ciò consente a una rete di adattare i propri pesi secondo una regola di aggiornamento dei pesi basata sulla discesa del gradiente.‍

Nonostante le reti neurali abbiano le regole per funzionare e apprendere in modo efficace, sono stati necessari altri trucchi matematici per spingere il deep learning a livelli davvero all'avanguardia.‍

Uno degli aspetti che rendevano difficile l'apprendimento nelle reti neurali, soprattutto nelle reti profonde o multistrato, è stato descritto matematicamente da Sepp Hochreiter nel 1991. Questo problema è stato definito "problema del gradiente che svanisce", con un problema duale oggi definito "problema del peso che esplode".

L'analisi di Hochreiter ha motivato lo sviluppo di una classe di reti neurali ricorrenti (RNN) nota come modello a memoria a breve termine (LSTM), che è profondo nel tempo, piuttosto che nello spazio. Le LSTM hanno superato molte delle difficoltà incontrate dalle RNN e oggi rimangono tra le più avanzate per la modellazione di dati temporali o sequenziali. Gli sviluppi paralleli per le reti neurali feedforward e convoluzionali farebbero progredire in modo analogo la loro capacità di superare le tradizionali tecniche di apprendimento automatico in un'ampia gamma di compiti.

Oltre ai progressi hardware, come la proliferazione delle unità di elaborazione grafica (GPU) e la disponibilità sempre maggiore di dati, le inizializzazioni più intelligenti dei pesi, le nuove funzioni di attivazione e i migliori metodi di regolarizzazione hanno permesso alle reti neurali di funzionare così bene.

L'approccio di Vectra AI all'applicazione del deep learning alla cybersecurity

Vectra AI utilizza l'apprendimento profondo e le reti neurali artificiali per costruire rappresentazioni complesse di caratteristiche apprese e rilevanti da un set di dati. Poiché queste rappresentazioni sono apprese, anziché predeterminate dagli scienziati dei dati, sono estremamente potenti quando vengono utilizzate per risolvere problemi altamente complessi. Per saperne di più sull'applicazione diVectra AIdell'apprendimento profondo e automatico.

DOMANDE FREQUENTI