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.
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
- Comprendere le fondamenta matematiche e la tassonomia dei problemi di ottimizzazione, dal continuo e convesso ai framework combinatori complessi.
- 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.