SCI1005

Ottimizzazione Intelligente

Un corso avanzato che copre la teoria e l'applicazione di tecniche intelligenti di ottimizzazione, che vanno dai metodi classici del gradiente ai moderni meta-euristiche evolutive, all'ottimizzazione multi-obiettivo, ai modelli assistiti da surrogate e alle applicazioni dell'apprendimento automatico federato.

5.0 Valutazione
300 Studenti

Panoramica del corso

📚 Riepilogo del contenuto

Un corso avanzato che tratta la teoria e l'applicazione di tecniche intelligenti di ottimizzazione, che vanno dai metodi classici del gradiente a meta-euristiche evolutive moderne, ottimizzazione multi-obiettivo, modelli assistiti da surrogati e applicazioni di apprendimento federato.

Padroneggiare meta-euristiche evolutive avanzate e ottimizzazione intelligente basata su dati per sistemi ingegneristici complessi.

🎯 Obiettivi didattici

  1. Comprendere le fondamenta matematiche e la tassonomia dei problemi di ottimizzazione, dal continuo e convesso ai framework combinatori complessi.
  2. Acquisire padronanza nell’applicazione dell’elaborazione evolutiva, dell’ottimizzazione multi-obiettivo e dei modelli assistiti da surrogati a sfide reali in ingegneria e apprendimento automatico.

🔹 Lezione 1: Fondamenti dell'ottimizzazione (I)

Panoramica: Questa lezione introduce le basi matematiche e la tassonomia dell’ottimizzazione, concentrandosi sull’identificazione delle variabili decisionali, delle funzioni obiettivo e dei vincoli. Esplora la classificazione dei problemi di ottimizzazione e le sfide pratiche della formulazione dei problemi in sistemi complessi come progettazione ingegneristica e apprendimento automatico.

Risultati dell’apprendimento:

  • Definire i componenti matematici di un problema di ottimizzazione, inclusi variabili decisionali, funzioni obiettivo e vincoli.
  • Classificare i problemi di ottimizzazione utilizzando una tassonomia multidimensionale basata su tipi di variabili, vincoli e obiettivi.
  • Distinguere tra ottimi locali e globali e identificare le proprietà specifiche dell’ottimizzazione convessa.
  • Formulare scenari del mondo reale in framework formali di ottimizzazione.

🔹 Lezione 2: Metodi di Newton-Raphson e Discesa del gradiente

Panoramica: Questa lezione affronta il passaggio dall’ottimizzazione analitica ai metodi numerici iterativi per trovare gli ottimi di funzioni non lineari. Dettaglia meccanismi, vantaggi e limitazioni del metodo di Newton-Raphson, delle approssimazioni Quasi-Newton e di diverse approcci basati sul gradiente come RPROP.

Risultati dell’apprendimento:

  • Identificare massimi e minimi locali determinando dove il gradiente di una funzione è nullo.
  • Confrontare efficienza e requisiti del metodo di Newton-Raphson con quelli della discesa del gradiente nello spazio univariato e multivariato.
  • Spiegare i problemi di "svanimento" e "esplosione" del gradiente e il loro impatto sulla divergenza dell’ottimizzazione.
  • Descrivere lo scopo dei metodi Quasi-Newton e RPROP nel ridurre il carico computazionale e migliorare la stabilità dell’ottimizzazione.

🔹 Lezione 3: Algoritmi genetici e gestione dei vincoli

Panoramica: Questa lezione esplora euristiche stocastiche basate su popolazioni note come Algoritmi Evolutivi (EAs). Dettaglia le basi biologiche degli Algoritmi Genetici (GAs), diversi schemi di rappresentazione e i meccanismi di selezione, ricombinazione e mutazione, affrontando anche tecniche specializzate per la gestione dei vincoli.

Risultati dell’apprendimento:

  • Confrontare metodi basati sul gradiente con euristiche di ricerca basate su popolazioni per individuare quando gli EAs sono preferibili.
  • Spiegare la mappatura tra evoluzione biologica e terminologie di ottimizzazione computazionale.
  • Implementare operatori di Algoritmo Genetico, inclusi crossover a n punti, mutazione a bit-flip e selezione a torneo.
  • Applicare tecniche di gestione dei vincoli come funzioni di fitness penalizzate e metodi di riparazione basati sul gradiente.

🔹 Lezione 4: Strategie evolutive e Programmazione genetica

Panoramica: Questa lezione copre tecniche avanzate di calcolo evolutivo, passando dagli Algoritmi Genetici a codifica reale alle Strategie Evolutive (ES) e alla Programmazione Genetica (GP). Dettaglia operatori specifici come Crossover Binario Simulato, adattamento dello step-size in ES e rappresentazioni basate su alberi per evolvere funzioni matematiche.

Risultati dell’apprendimento:

  • Analizzare i meccanismi degli Algoritmi Genetici a codifica reale, in particolare Crossover Binario Simulato e Mutazione Polinomiale.
  • Valutare varianti di Strategie Evolutive, incluse (1+1)-ES, (\mu, \lambda) e (\mu + \lambda) schemi di selezione.
  • Costruire modelli di Programmazione Genetica usando rappresentazioni basate su alberi, inclusi insiemi di funzioni primitive e insiemi terminali.
  • Determinare metodi di inizializzazione appropriati per GP, come i metodi Full, Grow e Ramped-half-and-half.

🔹 Lezione 5: Evoluzione differenziale e Ottimizzazione con stormi di particelle

Panoramica: Questa lezione copre tecniche avanzate di meta-euristica, concentrandosi sull'Evoluzione Differenziale (DE) e sull'Ottimizzazione con Stormi di Particelle (PSO). Dettaglia le fondamenta matematiche della mutazione basata su vettori in DE e i comportamenti sociali biologici che guidano il movimento delle particelle in PSO.

Risultati dell’apprendimento:

  • Analizzare tecniche per la gestione dei vincoli, incluse funzioni di fitness penalizzate, metodi di riparazione e ranking stocastico.
  • Formulare i passi di mutazione, ricombinazione e selezione nell'algoritmo di Evoluzione Differenziale.
  • Spiegare i meccanismi dell'Ottimizzazione con Stormi di Particelle Canonica, in particolare i ruoli del miglior personale, del miglior globale e del peso d'inertialità.
  • Valutare varianti di PSO come Local PSO, PSO con Costrição e Algoritmi di Stormo Basati sulla Competizione (CSO).

🔹 Lezione 6: Ottimizzazione multi-obiettivo: Approcci basati sulla decomposizione

Panoramica: Questa lezione esplora le definizioni fondamentali dell'ottimalità di Pareto e della dominanza, metodi classici di aggregazione e algoritmi evolutivi avanzati basati sulla decomposizione. Dettaglia come i problemi multi-obiettivo vengono convertiti in sottoproblemi monobiettivo utilizzando metodi come MOEA/D.

Risultati dell’apprendimento:

  • Definire e identificare la Dominanza di Pareto, gli insiemi di soluzioni ottimali di Pareto e le frontiere di Pareto negli spazi decisionali e obiettivo.
  • Confrontare e contrapporre approcci A priori, A posteriori e Interattivi all’ottimizzazione multi-obiettivo.
  • Spiegare il meccanismo della Decomposizione nell’OO-Multi per convertire problemi multi-obiettivo in sottoproblemi monobiettivo.
  • Analizzare i vantaggi dell’Aggregazione Pesata Dinamica (DWA) e di MOEA/D nel gestire frontiere di Pareto concave e convessi.

🔹 Lezione 7: Ottimizzazione multi-obiettivo: Approcci basati sulla dominanza

Panoramica: Questa lezione si concentra su tecniche avanzate per algoritmi evolutivi multi-obiettivo (MOEAs), dettagliando MOEA guidato da vettori di riferimento (RVEA) e assegnazione di fitness basata sulla dominanza. Esplora il mantenimento della diversità attraverso niching e fornisce un’analisi comparativa di algoritmi di ordinamento non dominato come NSGA-II.

Risultati dell’apprendimento:

  • Implementare il processo RVEA, inclusa la generazione di vettori di riferimento e il calcolo della distanza penalizzata per angolo (APD).
  • Calcolare fitness basata sulla dominanza e diversità tramite assegnazione di ranghi e funzioni di condivisione.
  • Analizzare i passi procedurali e la complessità computazionale di algoritmi di ordinamento non dominato Basic, Fast ed Efficient.
  • Illustrare il flusso di lavoro dell’Algoritmo Genetico di Ordinamento Non Dominato II (NSGA-II).

🔹 Lezione 8: Indicatori di prestazione e selezione avanzata

Panoramica: Questa lezione copre i meccanismi dell'algoritmo NSGA-II, inclusi la distanza di affollamento e la selezione ambientale, e esplora indicatori di valutazione delle prestazioni. Approfondisce metodi di selezione avanzati tramite Algoritmi di Stima della Distribuzione (EDAs) e modellazione della regolarità nei problemi continui.

Risultati dell’apprendimento:

  • Calcolare e applicare la distanza di affollamento e la selezione basata sul rango nel contesto di NSGA-II.
  • Valutare l’efficacia di diversi indicatori di prestazione come GD, IGD, Volume ipermetrico e Spacing.
  • Distinguere tra operatori genetici tradizionali e approcci basati su modelli come gli Algoritmi di Stima della Distribuzione (EDAs).
  • Spiegare come la regolarità nell’insieme di Pareto possa essere modellata tramite mappatura nello spazio latente e PCA locale.

🔹 Lezione 9: Algoritmi di Stima della Distribuzione e Reti neurali

Panoramica: Questo materiale esplora strategie per superare la perdita di pressione selettiva nell’ottimizzazione ad alta dimensione e fornisce una tassonomia completa dei modelli di apprendimento automatico. Dettaglia le fondamenta matematiche dell’addestramento delle reti neurali, incluse backpropagation e varianti della discesa del gradiente.

Risultati dell’apprendimento:

  • Identificare e applicare rimedi alla perdita di pressione selettiva nell’ottimizzazione multi-obiettivo.
  • Categorizzare i modelli di apprendimento automatico in tipi Generativi e Discriminativi e distinguere tra diversi paradigmi di apprendimento.
  • Spiegare le fondamenta matematiche dell’addestramento delle reti neurali, incluse la regola Delta e la backpropagation.
  • Valutare diverse varianti della discesa del gradiente e euristiche usate per alleviare problemi di convergenza.

🔹 Lezione 10: Selezione del modello e ottimizzazione strutturale evolutiva

Panoramica: Questa lezione esplora le sfide nell’addestramento di reti neurali profonde, affrontando specificamente il problema del gradiente svanente e la selezione del modello per prevenire l’overfitting. Dettaglia tecniche di validazione, strategie di apprendimento aggregato e l’integrazione della computazione evolutiva con l’apprendimento locale.

Risultati dell’apprendimento:

  • Identificare e mitigare l’overfitting tramite compromesso bias-varianza, stop anticipato e tecniche di cross-validazione.
  • Differenziare tra metodi di ensemble Bagging, Boosting e Stacking.
  • Contrapporre meccanismi Lamarckiani e Baldwiniani di ereditarietà nei paradigmi evolutivi-apprendimento.
  • Progettare framework di ottimizzazione strutturale per matrici di connessione e architetture di reti neurali.

🔹 Lezione 11: Apprendimento automatico multi-obiettivo e ottimizzazione guidata dai dati

Panoramica: Questa lezione esplora l’integrazione di Algoritmi Evolutivi Multi-obiettivo nell’apprendimento automatico e nell’ottimizzazione guidata dai dati. Dettaglia come approcci basati su Pareto ottimizzino strutture di reti neurali e clustering, introducendo strategie di gestione dei modelli assistiti da surrogati per valutazioni costose.

Risultati dell’apprendimento:

  • Analizzare i trade-off tra accuratezza del modello e complessità usando regolarizzazione basata su Pareto.
  • Valutare framework multi-obiettivo per clustering e estrazione di caratteristiche.
  • Determinare strategie appropriate di gestione del modello (individuale, di popolazione o di generazione) per l’ottimizzazione assistita da surrogati.

🔹 Lezione 12: Gestione base dei modelli e Ottimizzazione bayesiana

Panoramica: Questa lezione esplora l’integrazione di metamodelli (surrogati) nell’ottimizzazione evolutiva guidata dai dati per gestire valutazioni computazionalmente costose. Dettaglia strategie di gestione dei modelli e offre un’approfondita analisi dell’Ottimizzazione Bayesiana (BO) tramite Processi Gaussiani.

Risultati dell’apprendimento:

  • Definire la gestione dei modelli e spiegare la sua necessità per prevenire minimi falsi durante l’ottimizzazione.
  • Confrontare strategie di gestione dei modelli basate su individui, generazioni e popolazioni.
  • Eseguire il flusso di lavoro dell’Ottimizzazione Bayesiana, dallo scelta di a priori all’utilizzo di funzioni di acquisizione.
  • Analizzare il quadro matematico dei Processi Gaussiani e i requisiti sui kernel.
  • Identificare sfide computazionali nella BO e proporre strategie di mitigazione come riduzione della dimensione.

🔹 Lezione 13: Ottimizzazione multi-obiettivo assistita da surrogati e trasferimento di conoscenza

Panoramica: Questa lezione esplora strategie avanzate per l’ottimizzazione multi-obiettivo assistita da surrogati (SA-MOO), concentrandosi su RVEA e la sua variante assistita da Kriging. Dettaglia metodi per gestire problemi multi-obiettivo con valutazioni eterogeneamente costose (HE-MOPs) e introduce tre principali framework di trasferimento di conoscenza.

Risultati dell’apprendimento:

  • Analizzare i meccanismi degli Algoritmi Evolutivi guidati da vettori di riferimento e l’uso della distanza penalizzata per angolo.
  • Valutare strategie di gestione dei surrogati, incluse l’uso di ensemble e modelli di Kriging.
  • Distinguere tra metodi di adattamento del dominio basati su parametri, istanze e ibridi per il trasferimento di conoscenza.
  • Applicare principi di ottimizzazione multi-obiettivo a casi d’uso ingegneristici reali.

🔹 Lezione 14: Apprendimento automatico evolutivo e Ricerca di architetture neurali

Panoramica: Questa lezione esplora l’intersezione tra computazione evolutiva e apprendimento automatico, concentrandosi su Automazione dell’Apprendimento Automatico (AutoML) e Ricerca di Architetture Neurali (NAS). Copre l’ottimizzazione automatica di iperparametri e la co-evoluzione di sistemi di controllo e morfologia in robotica ispirata alla vita.

Risultati dell’apprendimento:

  • Definire i cinque passi principali della Ricerca Evolutiva di Architetture Neurali (E-NAS).
  • Differenziare tra spazi di ricerca Macro e Micro e il ruolo dei Supernets nel ridurre i costi computazionali.
  • Identificare strategie per migliorare l’efficienza computazionale in NAS, incluse l’eredità di nodi e modelli surrogate.
  • Spiegare i principi della coevoluzione cervello-corpo e il ruolo delle Reti Regolatrici Geniche nello sviluppo.

🔹 Lezione 15: Apprendimento automatico rispettoso della privacy e Apprendimento federato

Panoramica: Questa lezione esplora il passaggio da modelli centralizzati basati su cloud a framework distribuiti e rispettosi della privacy. Dettaglia i meccanismi dell’Apprendimento Federato e analizza soluzioni tecniche per l’efficienza comunicativa e la privacy, come la Privacy Differenziale e l’Encrypted Homomorphic.

Risultati dell’apprendimento:

  • Distinguere tra apprendimento centralizzato su cloud e apprendimento distribuito su dispositivi locali.
  • Spiegare i meccanismi fondamentali di tecniche di calcolo rispettose della privacy, incluse la Privacy Differenziale e l’Encrypted Homomorphic.
  • Analizzare il flusso operativo dell’Apprendimento Federato Orizzontale e Verticale e le sfide legate ai dati Non-IID.
  • Valutare strategie per l’efficienza comunicativa, come l’aggiornamento asincrono layer-by-layer.
  • Descrivere l’implementazione di Algoritmi Evolutivi Bayesiani Federati Sicuri.