Che cos'è il deep learning?
Il deep learning è un insieme di algoritmi di apprendimento automatico che possono essere usati per l'apprendimento supervisionato, non supervisionato e rinforzato. Questi algoritmi stanno diventando popolari dopo tanti anni di oblio. Il nome deriva dalla consapevolezza che l'aggiunta di un numero crescente di livelli, tipicamente in una rete neurale, permette a un modello di apprendere rappresentazioni sempre più complesse dei dati. Ispirato alla struttura biologica e alla funzione dei neuroni nel cervello, il deep learning 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 compongono il cervello umano. Le reti neurali artificiali sono state create inizialmente per mostrare come i circuiti biologici potessero calcolare o determinare i valori di verità delle proposizioni nella logica del primo ordine. Le reti neurali apprendono le caratteristiche rilevanti da un set di dati e costruiscono rappresentazioni sempre più complesse di queste caratteristiche man mano che i dati fluiscono nei livelli superiori della rete.
La concezione delle reti neurali 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 nel loro modello sono singole unità che integrano l'attività di altri neuroni. Ogni connessione tra i neuroni è ponderata per simulare l'efficacia sinaptica, ovvero la capacità di un neurone presinaptico di attivare un neurone postsinaptico.
Sebbene avessero considerato la sequenza temporale dell'elaborazione e volessero includere dei cicli di feedback, i loro modelli non erano in grado di apprendere o adattarsi.

A destra: disegni delle "reti neuronali" di McCullough e Pitts, progettate per elaborare affermazioni logiche.
Spiegazione dell'apprendimento delle reti neurali
Sebbene esistano varie regole di apprendimento per addestrare una rete neurale, nella sua forma più elementare l'apprendimento può essere concepito come segue: una rete neurale riceve un input e l'attività si propaga attraverso la sua serie di neuroni interconnessi fino a raggiungere un insieme di neuroni di output.
Questi neuroni di output determinano il tipo di previsione effettuata dalla rete. Ad esempio, per riconoscere le cifre scritte a mano, potremmo avere 10 neuroni di output 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 la previsione della cifra che è stata vista. All'inizio, i pesi tra i neuroni sono impostati su valori casuali e le prime previsioni sulla cifra presente in un'immagine saranno casuali. Man mano che viene presentata ogni immagine, i pesi possono essere regolati in modo che sia più probabile che venga fornita la risposta corretta la prossima volta che viene visualizzata un'immagine simile.
Regolando i pesi in questo modo, una rete neurale può apprendere quali caratteristiche e rappresentazioni sono rilevanti per prevedere correttamente la classe dell'immagine, anziché richiedere che questa conoscenza sia predeterminata manualmente.
Sebbene qualsiasi procedura per l'aggiornamento dei pesi in questo modo possa essere sufficiente, ad esempio leggi di apprendimento biologico, algoritmi evolutivi e ricottura simulata, il metodo principale utilizzato oggi è noto come retropropagazione.
L'algoritmo backprop, scoperto più volte da diversi ricercatori a partire dagli anni '60, applica efficacemente la regola della catena per derivare matematicamente come l'output di una rete cambia in relazione alle variazioni dei suoi pesi. Ciò consente a una rete di adattare i propri pesi in base a una regola di aggiornamento dei pesi basata sulla discesa del gradiente.
Nonostante esistessero già delle regole per il funzionamento e l'apprendimento efficace delle reti neurali, erano necessari alcuni ulteriori accorgimenti matematici per portare il deep learning a livelli davvero all'avanguardia.
Uno degli aspetti che rendeva difficile l'apprendimento nelle reti neurali, specialmente in quelle profonde o multistrato, è stato descritto matematicamente da Sepp Hochreiter nel 1991. Questo problema è stato definito "problema del gradiente che svanisce", con una questione doppia ora denominata "problema del peso che esplode".
L'analisi di Hochreiter ha motivato lo sviluppo di una classe di reti neurali ricorrenti (RNN) nota come modello LSTM (Long Short-Term Memory), che è profonda nel tempo piuttosto che nello spazio. Le LSTM hanno superato molte delle difficoltà incontrate dalle RNN e oggi rimangono tra le tecnologie più avanzate per la modellizzazione di dati temporali o sequenziali. Sviluppi paralleli per le reti neurali feedforward e convoluzionali migliorerebbero in modo simile la loro capacità di superare le tecniche tradizionali di apprendimento automatico in un'ampia gamma di compiti.
Oltre ai progressi hardware, come la diffusione delle unità di elaborazione grafica (GPU) e la disponibilità sempre maggiore di dati, anche inizializzazioni del peso più intelligenti, nuove funzioni di attivazione e metodi di regolarizzazione migliori hanno contribuito al funzionamento ottimale delle reti neurali.
Vectra AI all'applicazione del deep learning alla sicurezza informatica
Vectra AI il deep learning e le reti neurali artificiali per costruire rappresentazioni complesse di caratteristiche apprese e rilevanti da un set di dati. Poiché queste rappresentazioni sono apprese, piuttosto che predeterminate dai data scientist, sono estremamente potenti quando vengono utilizzate per risolvere problemi altamente complessi. Scopri di più sull'applicazione del deep learning e del machine learningVectra AI.

