- Algoritmo. Sequenza finita di istruzione ben definite, finalizzate alla risoluzione di un problema o di una classe di problemi. Un algoritmo può essere tradotto in software (attraverso opportuni linguaggi di programmazione) ed essere così eseguito da un computer. Gli algoritmi si classificano in
- Algoritmi deterministici: dato un determinato input, essi producono sempre lo stesso output.
- Algoritmi non deterministici: anche per input identici, diverse esecuzioni possono produrre diversi output. Il loro comportamento dipende dalla generazione di numeri casuali (random numbers).
- Artificial Neural Network (ANN, Rete Neurale Artificiale). Un modello altamente astratto e semplificato del cervello umano utilizzato nel ML. Un insieme di unità (neuroni di input) riceve un dato (ad esempio, i pixel di una foto), esegue semplici calcoli su di essi e li passa allo strato successivo di unità (neuroni intermedi). Lo strato finale (neuroni di output) fornisce la risposta (ad esempio, l’oggetto contenuto nell’immagine). I neuroni intermedi sono spesso organizzati in strati (layers). Il comportamento della ANN dipende da un insieme di parametri, detti pesi e bias, che vengono opportunamente adattati durante l’addestramento (training) della ANN. Si veda la Figura 2.
- Autoencoder. Tipo di ANN utilizzato per apprendere codifiche efficienti (ossia rappresentazioni basso-dimensionali) di dati alto-dimensionali. Gli autoencoder rappresentano un esempio di unsupervised ML. Vedi Figura 2.
Figura 2. Rappresentazione di un autoencoder. L’input e l’output corrispondono alla rappresentazine alto-dimensionale del dato. Nel layer più interno di trova invece il “codice”, ossia la rappresentazione basso-dimensinonale dello stesso dato.
- Backpropagation (propagazione all’indietro). Algoritmo alla base dell’addestramento delle reti neurali. Esso permette di calcolare quanto e in che modo l’output della rete neurale dipende dai pesi e dai bias associati alla rete. Più precisamente, l’algoritmo di backpropagation permette di calcolare il gradiente della loss function rispetto ai parametri della rete neurale in modo molto efficiente.
- Cloud computing. Paradigma di design di strutture informatiche e di erogazione di servizi che prevede la disponibilità di risorse on-demand (tipicamente risorse di calcolo e di storage). I servizi sono erogati per mezzo di server, spesso ridondanti e distribuiti geograficamente per garantire continuità servizio, in maniera del tutto trasparente all’utente finale. La possibilità di scalare facilmente le risorse (spesso in modo automatico, senza bisogno di interazioni da parte dell’utente) è fra le chiavi di successo del paradigma cloud, specialmente in ambito dell’IoT e dell’IA.
- Black-box (scatola nera). Sistema di IA che riceve un input e fornisce un output, attraverso calcoli di non facile interpretazione per l’essere umano.
- Convolutional Neural Network (CNN). Un tipo di ANN, la cui architettura è ispirata all’organizzazione della corteccia visiva animale. Le CNN sono molto utilizzate per l’elaborazione di immagini. Vedi Figura 11.
Figura 3. Rappresentazione di una CNN. I diversi layer sono collegati tramite operazioni matematiche (ad esempio Max-pool e convolution) che mimano i collegamenti neuronali della corteccia visiva animale.
- Data-driven. Un algoritmo sviluppato senza sfruttare alcuna conoscenza a priori, quali principi primi leggi empiriche, ma basandosi unicamente su dati. In questo caso, si dice che l’algoritmo non è informato della fisica sottostante il problema in esame.
- Decision Tree. Un tipo di supervised ML che utilizza uno schema ad albero, ossia una successione di scelte binarie (effettuate sulla base dei dati di input), per arrivare alla risposta finale.
- Deep Learning (Dl, Apprendimento Profondo). Famiglia di algoritmi di Machine Learning basati su reti neurali con un alto numero di strati (layer). Con l’aumentare della profondità della rete, essa diventa più adatta a descrivere modelli progressivamente più astratti. Secondo una comune interpretazione, nell’analizzare ad esempio la foto di un cane, i primi strati permetterebbero di identificare i bordi, quelli successivi elementi quali occhi, naso e zampe e infine gli ultimi strati l’intero animale. Vedi Figura 12 Rappresentazione di una “deep ANN”, lo strumento base del Deep Learning.Figura 12.
Figura 4 Rappresentazione di una “deep ANN”, lo strumento base del Deep Learning.
- Digital Twin (gemello digitale). Un insieme di costrutti di informazioni virtuali che mimano struttura, contesto e comportamento di un individuo (o un asset fisico), aggiornato dinamicamente grazie ai dati che gli derivano dal suo physical twin durante l’itero ciclo di vita e grazie a decisioni informate che generano valore (AIAA Institute Position Paper 2020).
- Expert System (Sistema Esperto). Una forma di IA che tenta di replicare l’esperienza umana in un’area, come la diagnosi medica o la giurisprudenza. Combina una base di conoscenza con un insieme di regole codificate a mano. Le tecniche di apprendimento automatico stanno progressivamente sostituendo la codifica manuale.
- Generative Adversarial Network (Gan). Una coppia di reti neurali addestrate congiuntamente. La prima (generatore) genera dati realistici, mentre la seconda (discriminatore) cerca di distinguere i dati generati sinteticamente (fake data) dal generatore da dati reali (real data). L’addestramento delle due reti migliora attraverso la loro competizione. Ad esempio, il generatore potrebbe produrre volti umani realistici, oppure opere d’arte che imitano opere reali; viceversa, il discriminatore – una volta addestrato – potrebbe essere utilizzato per riconoscere un volto umano o lo stile di un determinato artista.
- Gaussian Process. Una tipo di modello di supervised ML basato su un modello statistico che assume correlazione spaziale dei dati. Rispetto ad altri modelli di ML, i Gaussian Processes hanno il vantaggio di fornire una stima dell’incertezza della previsione.
- Iperparametri. Insieme di variabili numeriche che caratterizzano e controllano il processo di addestramento (training). A differenza dei parametri, gli iperparametri non variano durante il processo di training. Per una ANN, gli iperparametri sono rappresentati dal numero di neuroni e dal numero di layer.
- Long Short-Term Memory (Lstm). Un tipo di ANN che presenta connessioni di tipo feedback: il segnale di output viene dato nuovamente in input in modo iterativo alla rete stessa. Le LSTM trovano applicazioni in contesti che presentano una dinamica temporale, come l’elaborazione del linguaggio scritto o parlato (NLP) e l’analisi di serie storiche. Vedi Figura 13.
Figura 5. Rappresentazione di una LSTM. Dall’immagine è chiara la struttura ricorrente della rete (immagine da it.wikipedia.org).
- Loss Function (Funzione Costo). Funzione matematica il cui valore viene minimizzato durante il processo di addestramento (training). La loss function rappresenta tipicamente una misura dell’errore commesso dal modello di ML (in altre parole, la differenza fra previsioni del modello e dati reali). Il training può essere visto quindi come il processo attraverso il quale il modello adatta i progressivamente i propri parametri per diminuire il più possibile l’errore commesso.
- Metaverso. Termine coniato dall’autore di libri di fantascienza Neal Town Stephenson per indicare un universo virtuale, parallelo a quello reale, in cui ciascun individuo è rappresentato dal proprio avatar. In tempi recenti il termine è stato popolarizzato dalla società Facebook (ribattezzata Meta Platforms nel 2021), per indicare una realtà virtuale condivisa per mezzo di internet.
- Natural Language Processing (Nlp, Elaborazione Del Linguaggio Naturale). Il tentativo di un computer di comprendere il linguaggio parlato o scritto. Ad oggi, gli algoritmi di maggior successo nel campo NLP sono di tipo ML (basati ad esempio su reti LSTM).
- Overfitting. Si parla di overfitting quando il modello di adatta in modo ottimale ai dati di training, ma è poco predittivo per dati non osservati. In questo caso, si dice che il modello ha cattive proprietà di generalizzazione. Diverse tecniche sono state sviluppate per evitare l’overfitting, come ridurre le dimensioni del modello (per le ANN, riducendo il numero di neuroni), introducendo termini aggiuntivi (detti di regolarizzazione) nella loss function, oppure ancora agendo sull’algoritmo di ottimizzazione.
- Parametri. Insieme di variabili numeriche che caratterizzano il funzionamento di un dato modello di ML. Essi vengono modificati durante il processo di addestramento (training), attraverso opportuni algoritmi di ottimizzazione (a differenza degli iperparametri, che invece non vengono variati). Ad esempio, in una ANN, i parametri sono rappresentati dai cosiddetti pesi e bias, che corrispondono rispettivamente all’importanza dei legami fra neuroni diversi e alla sensibilità di ciascun neurone agli input che esso riceve.
- Physics-based / Physics-informed. Algoritmo o modello che, a differenza delle controparti data-driven, è costruito sfruttando conoscenze a priori (come leggi fisiche o modelli matematici). Esso incorpora in modo innato I concetti di spazio, tempo e causalità.
- Quantum computing. Paradigma computazionale che trae vantaggio dai fenomeni quantistici, quale la sovrapposizione di stati e l’interferenza. Se l’elemento fondamentale della computazione tradizionale è il bit, caratterizzato da uno stato binario (0 o 1), l’elemento base dei computer quantistici è il qbit, il cui stato è in realtà costituito da una sovrapposizione di stati. Nonostante oggi i computer quantistici non siano in grado di superare le performance di quelli tradizionali, si crede che in futuro essi possano risultare più veloci in applicazioni pratiche come la crittografia, una tecnologia di fondamentale importanza per i sistemi di IoT e di IA.
- Reduced Order Model (Modello ridotto). Modello matematico di basso costo computazionale, derivato a partire da una modello matematico di alta complessità e alta fedeltà (detto full-order model o high-fidelity model). Il modello ridotto permette di surrogare il modello high-fidelity, approssimandone le previsioni in tempi molto più rapidi e con un minor impatto in termini di risorse computazionali. I modelli ridotti sono fra i fattori abilitanti per i digital twin, che necessitano di interazioni in tempo reale con l’ambiente fisico.
- Reinforcement Learning (Apprendimento a rinforzo). Un tipo di ML in cui l’algoritmo impara agendo verso un obiettivo astratto, come “guadagnare un punteggio elevato in un videogioco” o “gestire una fabbrica in modo efficiente”. Durante l’addestramento, ogni sforzo viene valutato in base al suo contributo verso l’obiettivo.
- Scientific Computing (Calcolo Scientifico). Algoritmi volti a sfruttare la potenza di calcolo dei computer per risolvere problemi matematici inaccessibili all’uomo (per ragioni di tempo o di elevata complessità), quelli generalmente basati sulle leggi fisiche (physics based). Tramite la risoluzione (eventualmente approssimata) di modelli matematici, è possibile – fra le altre cose – simulare processi fisici ed effettuare previsioni ed analisi di scenario.
- Supervised Learning (Apprendimento Supervisionato). Un tipo di ML in cui l’algoritmo, durante l’addestramento, confronta i suoi risultati con i risultati corretti (detti spesso labels). Chiaramente, questo approccio è possibile sono quando le labels sono disponibili.
- Support Vector Machine. Un tipo di supervised ML utilizzato principalmente per problemi di classificazione, ossia quando si vuole assegnare a ciascun input un’etichetta scelta da un insieme discreto (ad esempio, data la foto di un prodotto, stabilire se essa contiene un paio di scarpe, un cappotto oppure una cintura).
- Transfer Learning. Una tecnica di apprendimento automatico per cui un algoritmo impara ad eseguire un compito (come riconoscere animali), e si basa su quella conoscenza quando impara un compito diverso ma correlato (come riconoscere uomini).
- Turing Test. Un test sulla capacità dell’IA di essere indistinguibile (per un osservatore umano) dall’intelligenza umana. Nella concezione originale di Alan Turing, un’IA sarebbe stata giudicata per le sue capacità di conversare con un umano attraverso un testo scritto.
- Uncertainty Quantification (UQ, quantificazione dell’incertezza). Insieme di procedure utile a individuare l’affidabilità delle soluzioni in rapporto all’incertezza che inevitabilmente affligge i dati e la conoscenza del processo sottostante.
- Unsupervised Learning (apprendimento non supervisionato). Un tipo di ML in cui, a differenza del supervised learning, l’algoritmo non dispone dei risultati corretti per un dato input. L’algoritmo cerca quindi semplicemente dei modelli in un insieme di dati, riconoscendo, ad esempio, pattern in essi contenuti o individuando sottogruppi omogenei (clusterizzazione).