Benvenuto nella rubrica Tech Explained!
Si sente parlare continuamente di “intelligenza artificiale”, ma di cosa si tratta esattamente? L’intelligenza artificiale, che di seguito sarà chiamata “AI”, è un campo dell’informatica che si occupa di sviluppare sistemi software (comunemente chiamati “programmi” o “applicazioni”) in grado di svolgere compiti che normalmente richiederebbero l’intelligenza umana, come la previsione di un evento futuro, l’apprendimento di un concetto astratto, il riconoscimento di uno specifico oggetto in un’immagine.
Alla base dell’AI c’è il grande campo di ricerca noto come “machine learning”, traducibile in italiano come “apprendimento automatico”, la pratica del quale consiste nello sviluppo di modelli matematici che consentono ad un computer di “imparare”1 dai dati. Invece che essere programmato in modo rigido per gestire ogni possibile scenario, un software può così apprendere dai dati come svolgere al meglio un compito o gestire una situazione complessa.

L’apprendimento automatico può essere suddiviso nelle seguenti tre aree di studio fondamentali:
SUPERVISED LEARNING (APPRENDIMENTO SUPERVISIONATO)
Nell’apprendimento supervisionato il modello matematico viene calibrato su un insieme di dati etichettati, ovvero per i quali è nota la “risposta corretta”. Durante tale calibrazione, comunemente detta “addestramento” (in inglese “training”), il modello azzarda ripetutamente previsioni sul valore delle etichette e viene corretto in caso di errore.
Un classico esempio è il filtro anti-spam implementato in tutte le caselle di posta elettronica. Durante l’addestramento sono forniti tanti esempi di mail, alcune delle quali spam, ciascuno corredato dall’etichetta binaria “SPAM”/“NO SPAM”. Una volta terminata la fase di training, il modello avrà auspicabilmente “compreso” la differenza tra una mail “legittima” ed una mail spam e sarà in grado di generalizzare questa conoscenza ad una nuova mail, ovvero ad una mai sottopostagli durante la calibrazione. L’appellativo “supervisionato” deriva dai correttivi applicati al modello durante l’addestramento sulla base delle etichette.
La pratica del supervised learning mira quindi alla realizzazione di algoritmi in grado di sviluppare, partendo dall’analisi di uno specifico insieme di dati, ipotesi generali dalle quali è possibile trarre previsioni in merito ad esempi analoghi non analizzati precedentemente2.

UNSUPERVISED LEARNING (APPRENDIMENTO NON SUPERVISIONATO)
L’appellativo “non supervisionato” deriva quindi dall’assenza di una conoscenza a priori sulla categoria di appartenenza di ciascun esempio presente nel dataset, conoscenza che è obiettivo del modello estrarre dai dati.
Nell’apprendimento non supervisionato al modello matematico viene sottoposto un insieme di dati non etichettati, ovvero per i quali non è nota la “risposta corretta”. In una delle applicazioni più comuni di unsupervised learning, nota come “clustering”, l’analisi dei dati è mirata alla suddivisione del dataset in categorie di elementi tra loro simili3; di fatto, il modello cerca di associare a ciascun elemento del dataset un’etichetta che lo riconduca ad una specifica categoria. Un classico esempio di apprendimento non supervisionato è l’analisi operata dai social media per la profilazione degli utenti. Gli utenti sono raggruppati in specifiche categorie in base ai temi di loro interesse, alla natura delle loro interazioni con i contenuti e con gli altri utenti, alle caratteristiche del proprio profilo ed a molteplici altre variabili, consentendo alla piattaforma di personalizzare notevolmente le offerte di contenuti e le campagne pubblicitarie.

REINFORCEMENT LEARNING (APPRENDIMENTO PER RINFORZO)
L’apprendimento per rinforzo, rispetto alle altre due branche del machine learning, è forse il più immediato ed intuitivo da comprendere in quanto presenta una forte somiglianza con le modalità di apprendimento degli esseri viventi, umani compresi. L’addestramento del modello matematico è in questo caso realizzato sulla base delle interazioni di un agente con un ambiente virtuale4, le caratteristiche dei quali sono delineate ad hoc per lo specifico problema in esame. Sono quindi definiti un obiettivo verso il quale l’agente deve tendere, una ricompensa per le azioni che lo portano verso tale obiettivo ed una punizione per quelle che lo allontanano. Durante l’addestramento, l’agente, guidato dalla necessità di raggiungere l’obiettivo, tenderà ad ottimizzare il suo comportamento al fine di ricevere il minor numero di punizioni ed il maggior numero di ricompense. Il risultato è quindi un modello matematico in grado di esprimere un comportamento efficiente rispetto ad uno specifico compito formalizzato tramite l’obiettivo e l’ambiente virtuale. Un classico esempio di apprendimento per rinforzo è la creazione degli NPC (Non – Playable Characters) dei videogiochi più moderni, il quale comportamento non è predefinito in modo rigido bensì è plasmato sulla base di un obiettivo formalizzato all’interno della loro “mente”.
L’analogia con l’apprendimento umano è quindi chiara: basti pensare a come tutti noi abbiamo imparato ad andare in bicicletta!

Francesco
Bibliografia
- Vladimir Nasteski, (2017). An overview of the supervised machine learning methods ↩︎
- Akinsola et al. (2017). Supervised machine learning algorithms: classification and comparison ↩︎
- Kristina P. Sinaga, Miin-Shen Yang, (2020). Unsupervised K-Means Clustering Algorithm. ↩︎
- Andrew W. Moore et al. (1996). Reinforcement Learning: a survey. ↩︎