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

Scopriamo le differenze tra un algoritmo di Machine Learning e Deep Learning

Marcello Politi : 14 Luglio 2023 10:32

Nel mondo dell’intelligenza artificiale sentiamo spesso parlare di due termini, Machine Learning (ML) e Deep Learning (DL). Sono entrambi metodi per implementare l’AI attraverso l’addestramento o training di algoritmi di apprendimento automatico, che verrano poi utilizzati per fare predizioni sul futuro e prendere decisioni.

Queste due materie utilizzano approcci e hanno capacità e caratteristiche differenti. In questo articolo andremo ad esplorare le differenze tra i due e capire meglio come funzionano.

Machine Learning

Il Machine Learning è la materia che si occupa della progettazione di algoritmi capaci di fare predizioni imparando pattern di dati passati. Un algoritmo di Machine Learning si differenzia da un “classico” algoritmo di informatica propri per come viene strutturato il problema.

Vuoi diventare un esperto del Dark Web e della Cyber Threat Intelligence (CTI)?
Stiamo per avviare il corso intermedio in modalità "Live Class", previsto per febbraio.
A differenza dei corsi in e-learning, disponibili online sulla nostra piattaforma con lezioni pre-registrate, i corsi in Live Class offrono un’esperienza formativa interattiva e coinvolgente.
Condotti dal professor Pietro Melillo, le lezioni si svolgono online in tempo reale, permettendo ai partecipanti di interagire direttamente con il docente e approfondire i contenuti in modo personalizzato. Questi corsi, ideali per aziende, consentono di sviluppare competenze mirate, affrontare casi pratici e personalizzare il percorso formativo in base alle esigenze specifiche del team, garantendo un apprendimento efficace e immediatamente applicabile.
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.

In un algoritmo classico noi diamo alla macchina delle regole che questa deve seguire passo passo, per trasformare l’input in un output. Ad esempio un input potrebbe essere una lista di numeri [1, 2, 3, 4, 5], la regola potrebbe essere: “trasforma ogni numero nel suo quadrato”, quindi f(x) = x^2.

Una volta fornite queste regole e questo input, l’algoritmo sarebbe in grado di restituirci il seguente output: [1, 4, 9, 16, 25].

In un algorimto di Machine Learning invece il problema viene stravolto.

Quello che noi forniamo alla macchina è l’input e l’output atteso, quindi [1, 2, 3, 4, 5] e [1, 4, 9, 16, 25], e l’algoritmo ci restituirà in output la regola che mette in relazione questi valori, quindi f(x) = x^2.

In questo modo a noi non resta che preoccuparci principalmente di raccogliere delle osservazioni (dati) e darli in pasto all’algoritmo che troverà la relazione che regola le nostre osservazioni e che potrà essere usata per fare predizioni future.

Il tipo di algoritmo di Machine Learning appena descritto in realtà rientra nella categoria degli algoritmi definiti come Supervised Learning.

Esistono fondamentalmente 3 categorie differenti che sono le seguenti:

  1. Supervised Learning: gli algoritmi di questa categoria come ad esempio la Regressione Lineare, o il Random Forest sono addestrati su dati etichettati, quindi in cui viene fornita alla macchina una seria di input associati a degli output, come nel caso discusso precedentemente. L’algoritmo imparerà a mappare gli input con gli output trovando la relazione che li lega.
  2. Unsupervised Learning: gli algoritmi di tipo Unsupervised Learning come il K-Means Clustering o il DBSCAN, sono addestrati su dati non etichettati, vengono quindi utilizzati quando non abbiamo all’interno della nostra collezioni di dati (o dataset) gli output associati agli input. Questi algoritmi hanno la capacità di trovare delle strutture e dei pattern all’interno del dataset. Ad esempio immaginate di collezionare i dati degli user di un sito web e volerli poi clusterizzare, cioè dividere in gruppi per targettizarli e migliorare i suggerimenti di prodotti da vendergli, questo può essere fatto da un algoritmo di clustering che utilizza il Machine Learning.
  3. Reinforcement Learning: negli algoritmi di Reinforcement Learning addestriamo un agente (pensate ad esempio ad un robot) attraverso le interazioni che questo ha con l’ambiente che lo circonda e impara quindi attraverso feedback positivi o negativi. Ad esempio il robot che deve imparare a camminare riceverà dei feedback negativi ogni volta che sbatte contro un muro, e dei feedback positivi ogni volta che raggiunge l’obiettivo.

Esistono molti algoritmi di Machine Learning, ed è compito del data scientist capire quale usare e in quale occasione. Un algoritmo in particolare, chiamato Rete Neurale Artificiale, ha aperto numerose nuove possibiltà e gli scienziati dell’AI hanno iniziato a focalizzarsi sullo studio di questo singolo algoritmo, ed è cosi nata una nuova materia di studio chiamata Deep Learning.

Deep Learning

Il Deep Learning è un sottoinsieme del Machine Learning, infatti si focalizza solamente sull’uso delle Reti Neurali Artificiali che sono in grado di imparare pattern nascosti all’interno dei dati.

La Rete Neurale Artificiale (ANN) è ispirata a quella biologica.

L’elemento di base di una rete neurale biologica è il singolo neurone, mentre in quella artificiale troviamo il percettrone. Il neurone percepisce attraverso i dendriti delle scariche elettrice in input che vengono processate dal nucleo, e se la somma di queste scariche supera una certa soglia verrà prodotta una scarica elettrica in output attraverso l’assone.

In modo simile il percettrone riceve in input dei numeri, esegue una computazione di questi numeri e produce un numero in output, 0 o 1. Ad esempio i numeri in input potrebbero rappresentare il valore dei pixel in un’ immagine in bianco e nero, e noi vorremmo che l’output sia 1 se l’immagine rappresenta un cane e zero altrimenti.

Il percettrone però è un algoritmo troppo semplice e ha poca capacità di apprendimento.

Quindi possiamo creare un algoritmo più complesso strutturando tanti percettroni (o neuroni) in layer in cui l’output dei neuroni nei layer precedenti saranno l’input per i layer successivi.

I layer in questa immagine sono solamente quattro. Abbiamo il primo input layer, seguito da due hidden layer e infine un output layer composto da un singolo neurone. Il numero di hidden layer è arbitrario e spesso le reti possono essere molto profonde, è per questo che si usa il termine deep.

Le reti neurali non si differenziano tra loro solo per il numero di neuroni o layer, ma anche per il tipo di computazione che questi layer e neuroni eseguono. Esistono vari tipi di reti neurali, come ad esempio le Reti Neurali Convoluzionali (CNN) adatte a task visuali, o le Reti Neurali Ricorrenti (RNN) per taks in cui si elaborano dati sequenziali come le serie storiche o il linguaggio naturale.

Differenze tra Machine Learning e Deep Learning

Ora che abbiamo visto gli aspetti principali del Machine Learning e del Deep Learning, andiamo a vedere quali sono le differenze tra i due e in quali casi bisogna prediligere uno a discapito dell’altro.

  1. Dati: solitamente gli algoritmi di Deep Learning richiedono una quantità di dati molto maggiore rispetto a quelli di Machine Learning per essere addestrati in modo opportuno;
  2. Estrazione delle feature: Prima di fare il training di un modello di Machine Learning bisogna pre-processare e ripulire i dati di input. Durante questo preporcessing c’è una fase fondamentale che è chiamata feature engineering, in cui il data scientist cerca di estrapolare nuove caratteristiche dai dati. Ad esempio, se i dati fanno riferimento solamente all’altezza e al sesso della persona, un data scientist potrebbe provare a dedurre anche il peso della persona in modo da fornire elementi in più all’algoritmo di apprendimento automatico. Il Deep Learning invece è in grado di estrarre queste caratteristiche (feature) in modo automatico senza l’aiuto manuale di un esperto;
  3. Performance: Gli algoritmi di Deep Learning battono quelli di Machine Learning nei task più complessi, ma richiedono grandi capacità computazionali e come già detto, un gran numero di dati che non sempre è disponibile;
  4. Interpretabilità: I modelli di Machine Learning sono generalmente più interpretabili dei modelli di Deep Learning. Ad esempio, se una ad una persona in banca viene rifiutata la richiesta di un mutuo, e l’algoritmo che ha preso la decisione era basato sul Machine Learning, sarebbe possibile spiegare e motivare il perché di quella scelta, mentre se fosse stato usato il Deep Learning soltanto il modello saprebbe il perché di tale scelta, per questo vengono chiamati spesso algoritmi black box.

Conclusioni

Il Machine Learning e il Deep Learning sono due approcci del campo dell’AI. Hanno entrambi punti di forza e di debolezza, e la scelta dipende dal problema da affrontare, dalla disponibilità di dati e dalla complessità del compito.

Comprendere le differenze tra queste due tecniche è fondamentale per i professionisti e i ricercatori nel campo dell’intelligenza artificiale per scegliere l’approccio più appropriato per i loro casi d’uso specifici.

Marcello Politi
Esperto di intelligenza artificiale con una grande passione per l'esplorazione spaziale. Ho avuto la fortuna di lavorare presso l'Agenzia Spaziale Europea, contribuendo a progetti di ottimizzazione del flusso di dati e di architettura del software. Attualmente, sono AI Scientist & Coach presso la PiSchool, dove mi dedico alla prototipazione rapida di prodotti basati sull'intelligenza artificiale. Mi piace scrivere articoli riguardo la data science e recentemente sono stato riconosciuto come uno dei blogger più prolifici su Towards Data Science.

Lista degli articoli

Articoli in evidenza

Bypass di Microsoft Defender mediante Defendnot: Analisi Tecnica e Strategie di Mitigazione

Nel panorama delle minacce odierne, Defendnot rappresenta un sofisticato malware in grado di disattivare Microsoft Defender sfruttando esclusivamente meccanismi legittimi di Windows. A differenza di a...

Falso Mito: Se uso una VPN, sono completamente al sicuro anche su reti WiFi Aperte e non sicure

Molti credono che l’utilizzo di una VPN garantisca una protezione totale durante la navigazione, anche su reti WiFi totalmente aperte e non sicure. Sebbene le VPN siano strumenti efficaci per c...

In Cina il CNVD premia i migliori ricercatori di sicurezza e la collaborazione tra istituzioni e aziende

Durante una conferenza nazionale dedicata alla sicurezza informatica, sono stati ufficialmente premiati enti, aziende e professionisti che nel 2024 hanno dato un contributo significativo al National I...

Quando l’MFA non basta! Abbiamo Violato il Login Multi-Fattore Per Capire Come Difenderci Meglio

Nel mondo della cybersecurity esiste una verità scomoda quanto inevitabile: per difendere davvero qualcosa, bisogna sapere come violarlo. L’autenticazione multi-fattore è una delle co...

Grave Falla RCE in Remote Desktop Gateway (RD Gateway). Aggiornare Subito

Una vulnerabilità critica nel Remote Desktop Gateway (RD Gateway) di Microsoft che potrebbe consentire agli aggressori di eseguire codice dannoso sui sistemi interessati da remoto. Il difetto, &#...