fbpx
Red Hot Cyber
La cybersecurity è condivisione. Riconosci il rischio, combattilo, condividi le tue esperienze ed incentiva gli altri a fare meglio di te.
Cerca

Architettura delle Convolutional Neural Networks: dal Pixel alla classificazione

Simone Raponi : 1 Agosto 2023 10:49

Nell’ultimo articolo, abbiamo introdotto le Convolutional Neural Networks (CNN), un’innovazione cruciale nel campo dell’intelligenza artificiale che ha rivoluzionato il riconoscimento di immagini e suoni. Adesso, è tempo di esaminare più da vicino come queste affascinanti reti lavorano dietro le quinte, le black box non ci sono mai piaciute!

Questo articolo esplora l’architettura delle CNN, il flusso dei dati attraverso la rete e il processo di estrazione e interpretazione delle caratteristiche rilevanti dai dati in ingresso.

Per i prossimi paragrafi utilizzeremo l’architettura di seguito come esempio:

Architettura di una CNN per un’applicazione reale: Sound of Guns

CORSO NIS2 : Network and Information system 2
La direttiva NIS2 rappresenta una delle novità più importanti per la sicurezza informatica in Europa, imponendo nuovi obblighi alle aziende e alle infrastrutture critiche per migliorare la resilienza contro le cyber minacce. Con scadenze stringenti e penalità elevate per chi non si adegua, comprendere i requisiti della NIS2 è essenziale per garantire la compliance e proteggere la tua organizzazione.

Accedi All'Anteprima del Corso condotto dall'Avv. Andrea Capelli sulla nostra Academy e segui l'anteprima gratuita.
Per ulteriori informazioni, scrivici ad [email protected] oppure scrivici su Whatsapp al 379 163 8765 

Supporta RHC attraverso:


Ti piacciono gli articoli di Red Hot Cyber? Non aspettare oltre, iscriviti alla newsletter settimanale per non perdere nessun articolo.

Ho sviluppato questa architettura durante il mio dottorato di ricerca per il progetto Sound of Guns: Digital Forensics of Gun Audio Samples meets Artificial Intelligence. In tale progetto, la CNN in questione è stata utilizzata per classificare tipo, modello e calibro di armi da fuoco a partire dallo spettrogramma della registrazione del colpo.

Strati Convoluzionali – Il cuore delle CNN

Le CNN prendono il nome da una delle loro caratteristiche fondamentali: lo strato convoluzionale. Questo strato è il nucleo dell’apprendimento della rete, il luogo in cui le caratteristiche (o “pattern”) dei dati vengono effettivamente riconosciute.

In uno strato convoluzionale (in giallo, nella figura di riferimento), l’immagine di input viene suddivisa in diverse regioni sovrapposte. Ciascuna di queste regioni viene poi trasformata da una serie di “filtri” o “kernel”, matrici di numeri che alterano i dati dell’immagine. Ogni filtro è progettato per rilevare una caratteristica specifica nell’immagine, come un bordo, una linea o un angolo. L’output di questo processo è una serie di “mappe delle caratteristiche”, rappresentazioni dell’immagine originale che evidenziano le aree in cui è stata rilevata una particolare caratteristica.

Strati di Pooling – Riduzione della dimensionalità

Dopo che le immagini sono state filtrate attraverso lo strato convoluzionale, arrivano allo strato di pooling (in arancio, nella figura di riferimento). Lo scopo di questo strato è ridurre la dimensione delle mappe delle caratteristiche senza perdere le informazioni importanti. Questo processo di “sottocampionamento” rende l’intera rete più efficiente, riducendo il numero di parametri da calcolare.

Esistono diversi metodi di pooling, ma il più comune è il “max pooling”, che prende il valore massimo da una regione della mappa delle caratteristiche. Questo significa che, indipendentemente da dove una caratteristica viene rilevata all’interno di una certa regione, essa sarà preservata nello strato di pooling.

Esempio di applicazione di max-pooling 2×2. L’immagine risultante manterrà le caratteristiche principali ma avrà una dimensione ridotta.

Strati Fully Connected – Interpretazione delle caratteristiche

Dopo che i dati sono stati processati attraverso gli strati convoluzionali e di pooling, entrano negli strati “fully connected” o “densi” (in viola, nella figura di riferimento). Come suggerisce il nome, in questi strati ogni neurone è connesso a ogni altro neurone nello strato precedente e nel successivo.

Qui, le mappe delle caratteristiche vengono “appiattite” in un vettore unidimensionale che può essere alimentato attraverso la rete neurale. Lo scopo di questi strati è interpretare le caratteristiche rilevate nelle fasi precedenti e combinare queste informazioni in una previsione finale. Ad esempio, in un problema di riconoscimento di immagini, questo potrebbe significare decidere se l’immagine rappresenta un gatto o un cane.

Strato di output e funzione di attivazione

L’ultimo strato di una CNN è lo strato di output (in blu, nella figura di riferimento). Questo strato è responsabile della produzione della previsione finale della rete. In un problema di classificazione, ogni neurone in questo strato rappresenta una possibile etichetta che la rete può prevedere, e la funzione di attivazione viene utilizzata per convertire l’output della rete in una distribuzione di probabilità tra queste etichette.

Le funzioni di attivazione più comuni negli strati di output delle CNN sono la funzione softmax per la classificazione multiclasse e la funzione sigmoide per la classificazione binaria. Entrambe queste funzioni comprimono l’output della rete in un intervallo che è utile per l’interpretazione delle previsioni.

Conclusioni

Le Convolutional Neural Networks sono uno strumento potente nel riconoscimento di immagini e suoni, grazie alla loro capacità di apprendere gerarchie di caratteristiche spaziali. A partire dal riconoscimento di caratteristiche locali o globali nello strato convoluzionale, passando per la riduzione della dimensionalità nello strato di pooling, fino all’interpretazione delle caratteristiche negli strati fully connected, ogni elemento dell’architettura CNN svolge un ruolo chiave nel processo di apprendimento.

Nel nostro prossimo articolo, esploreremo come le CNN vengono addestrate e ottimizzate, gettando luce sul processo di backpropagation e discutendo le tecniche comuni per l’ottimizzazione delle reti neurali.

Simone Raponi
Esperto in machine learning e sicurezza informatica. Ha un dottorato in Computer Science and Engineering, durante il quale ha sviluppato modelli di intelligenza artificiale per rilevare pattern correlati alla cybersecurity. Durante la sua carriera accademica ha ricevuto diversi riconoscimenti ed ha pubblicato numerosi articoli scientifici divenuti popolari nell'ambito. Ex Machine Learning Scientist alla NATO, attualmente lavora come AI/ML Cybersecurity Engineer per una startup, dove impiega quotidianamente algoritmi di AI per affrontare e risolvere complesse sfide nel campo dell'automazione della sicurezza informatica.

Articoli in evidenza

Per Grok 3, l’Intelligenza Artificiale di Elon Musk, Donald Trump Dovrebbe Morire

In un recente scambio con l’intelligenza artificiale Grok 3, è emerso un tema delicato e controverso: la pena di morte e chi, tra le persone viventi oggi in America, potrebbe meritarla per...

Anonymous Italia risponde agli attacchi di NoName057(16). Deface contro siti russi!

Negli ultimi giorni, il collettivo hacktivista italiano Anonymous Italia ha risposto agli attacchi informatici sferrati dal gruppo filorusso NoName057(16) colpendo una serie di obiettivi russi. Gli at...

Windows sotto scacco: scoperta una vulnerabilità che bypassa tutte le attivazioni!

Gruppo di ricerca MASSGRAVE ha presentato un Exploit chiamato TSforge che consente di attivare qualsiasi versione di Windows a partire da Windows 7, nonché tutte le edizioni di Microsof...

220$ per entrare nella Polizia di Stato Italiana: l’inquietante offerta di EDRVendor

Su BreachForum un utente dallo pseudonimo EDRVendor ha venduto, dopo poche ore dall’annuncio, l’accesso ad una cassetta postale della polizia di stato italiana. Oltre alla mail viene off...

Google Scopre Triplestrength: il gruppo Ransomware che colpisce il Cloud per estrarre Criptovalute

Team di intelligence sulle minacce di Google ha reso pubblica l’informazione sul gruppo di hacker Triplestrength, finora sconosciuto, attivo dal 2020. Il gruppo è composto da poc...