WU | Ottimizzazione Intelligente
Un corso avanzato che copre la teoria e l'applicazione delle tecniche di ottimizzazione intelligente, 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.
Lezioni
Lesson
Panoramica del corso
📚 Riepilogo del contenuto
Un corso avanzato che esplora l'intersezione tra ottimizzazione matematica classica, calcolo evolutivo e apprendimento automatico contemporaneo. Copre ottimizzazione monobiettivo e multiobiettivo, strategie guidate dai dati e argomenti avanzati come la ricerca architetturale neurale e l'apprendimento federato.
Padroneggia l'evoluzione dell'intelligenza attraverso ottimizzazione avanzata guidata dai dati e multiobiettivo.
🎯 Obiettivi di apprendimento
- [Applicare tecniche avanzate di ottimizzazione a problemi matematici complessi e guidati dai dati.]
- [Progettare ed valutare architetture evolutive e di apprendimento automatico per scenari multiobiettivo.]
🔹 Lezione 1: Fondamenti dell'ottimizzazione
Panoramica: Questa lezione fornisce un'introduzione completa alle basi matematiche dell'ottimizzazione, che vanno dalle tecniche classiche basate sul gradiente fino alle strategie ispirate alla biologia evolutiva. Stabilisce definizioni rigorose di variabili decisionali, funzioni obiettivo e vincoli, esplorando anche la tassonomia dei problemi di ottimizzazione. Il materiale passa dai metodi di ricerca locale come Newton-Raphson e Discesa del Gradiente ai principi dell'evoluzione naturale e alla meccanica degli Algoritmi Evolutivi (AE).
Risultati dell'apprendimento:
- Definire e classificare i problemi di ottimizzazione: distinguere tra ottimizzazione continua, discreta, combinatoria e convessa in base alle proprietà matematiche e ai vincoli.
- Eseguire metodi classici basati sul gradiente: applicare il metodo di Newton-Raphson e la Discesa del Gradiente (inclusi varianti come RPROP e Momentum) per trovare gli ottimi locali di funzioni differenziabili.
- Tradurre l'evoluzione biologica nella logica computazionale: spiegare il rapporto tra genotipo/fenotipo, selezione naturale e struttura degli Algoritmi Evolutivi (AE).
- Affrontare sfide algoritmiche: identificare e mitigare problemi comuni nell'ottimizzazione, come il "pendio di Hamming" nel codice binario, il "problema del gradiente che si annulla" e il costo computazionale dell'inversione della matrice hessiana.
🔹 Lezione 2: Algoritmi Genetici: Codifica, Selezione e Operatori Genetici
Panoramica: Questa lezione copre i meccanismi fondamentali degli Algoritmi Genetici Canonici e a codifica reale (RCGA). Esplora la rappresentazione delle variabili, inclusi codici binari, Gray e reali, insieme ai meccanismi riproduttivi come crossover e mutazione. Il materiale introduce anche tecniche avanzate per risolvere problemi combinatori e gestire vincoli tramite funzioni di penalità e metodi di riparazione.
Risultati dell'apprendimento:
- Analizzare diverse strategie di rappresentazione (codifica binaria vs. codifica Gray) e il loro impatto sulla causalità della ricerca e sui "pendii di Hamming".
- Calcolare le probabilità di selezione e decodificare stringhe binarie in variabili decisionali intere o reali.
- Differenziare tra diversi operatori di crossover per algoritmi genetici sia binari (n-punti, uniforme) che a codifica reale (BLX, SBX, lineare).
- Formulare strategie per gestire vincoli e ottimizzazione combinatoria in problemi NP-difficili come il Problema del Commesso Viaggiatore (TSP).
🔹 Lezione 3: Strategie Evolutive e Adattamento dello Step-Size
Panoramica: Questa lezione esplora tecniche avanzate di calcolo evolutivo, con particolare attenzione ai meccanismi di gestione dei vincoli e alla meccanica delle Strategie Evolutive (ES). Dettaglia il passaggio dalla ottimizzazione binaria all'ottimizzazione continua, sottolineando l'importanza dell'adattamento dello step-size. Vengono discussi metodi chiave come la regola del 1/5 e l'Adattamento della Matrice di Covarianza (CMA-ES).
Risultati dell'apprendimento:
- Valutare tecniche per gestire vincoli, incluse metodologie di riparazione basate sul gradiente per problemi continui e ranking stocastico per soluzioni non ammissibili.
- Applicare operatori per algoritmi genetici a codifica reale, in particolare il crossover binario simulato (SBX) e la mutazione polinomiale.
- Analizzare la struttura algoritmica delle Strategie Evolutive (ES), inclusi (1+1)-ES e varianti basate su popolazione usando selezione (μ, λ) e (μ + λ).
- Spiegare la logica matematica dell'adattamento dello step-size, confrontando la regola del 1/5, lo step-size globale e le strategie individuali.
🔹 Lezione 4: Programmazione Genetica e Rappresentazioni ad Albero
Panoramica: Questa lezione tratta la Programmazione Genetica (GP) come metodo per risolvere problemi di ottimizzazione e apprendimento automatico rappresentando funzioni matematiche e codice come strutture ad albero. Gli studenti esplorano come la GP evolve queste strutture attraverso metodi specifici di inizializzazione e operatori genetici. La lezione affronta anche tecniche per la gestione dei vincoli come funzioni di fitness penalizzate nel contesto della regressione simbolica.
Risultati dell'apprendimento:
- Distinguere tra insiemi di funzioni primitive e insiemi terminali nelle rappresentazioni ad albero.
- Eseguire strategie di inizializzazione, incluse le metodologie Full, Grow e Ramped-half-and-half.
- Analizzare i meccanismi di ricombinazione e mutazione ad albero, compresi i loro effetti sulla dimensione e sulla struttura della popolazione.
- Valutare tecniche per gestire vincoli nell'ottimizzazione evolutiva, specificamente penalità rigide, dinamiche e adattive.
🔹 Lezione 5: Evoluzione Differenziale e Varianti dell'Algoritmo di Stormo di Particelle
Panoramica: Questa lezione esplora tecniche avanzate di ottimizzazione meta-euristiche, partendo dalla gestione dei vincoli basata sulla riparazione per problemi combinatori e continui. Offre un'analisi approfondita dei meccanismi dell'Evoluzione Differenziale (DE) e dell'Algoritmo Standard di Stormo di Particelle (PSO). Il contenuto si estende a varianti specializzate come PSO basato sulla competizione (CSO) e PSO con apprendimento sociale (SL-PSO) per l'ottimizzazione su larga scala.
Risultati dell'apprendimento:
- Analizzare tecniche di gestione dei vincoli, in particolare metodi di riparazione per ottimizzazione combinatoria (sostituzione di geni) e continua (basata sul gradiente).
- Eseguire gli operatori matematici dell'Evoluzione Differenziale, inclusi mutazione per differenza vettoriale, crossover e selezione.
- Formulare le equazioni di aggiornamento della velocità e della posizione per il PSO standard e le sue varianti (PSO locale, fattore di contrazione e CSO).
- Distinguere tra diversi modelli di intelligenza di stormo in base alle loro strategie di apprendimento (es. miglior globale vs. apprendimento sociale da dimostratori).
🔹 Lezione 6: Ottimizzazione Multiobiettivo: Dominanza di Pareto e Metodi Classici
Panoramica: Questa lezione copre la transizione fondamentale dall'Ottimizzazione Monobiettivo (SOO) all'Ottimizzazione Multiobiettivo (MOO). Sottolinea che il MOO produce un insieme di soluzioni di compromesso piuttosto che un singolo ottimo. La lezione valuta metodi classici come l'aggregazione pesata rispetto a approcci moderni di decomposizione evolutiva come MOEA/D e RVEA.
Risultati dell'apprendimento:
- Definire matematicamente la dominanza di Pareto, gli insiemi di soluzioni ottimali di Pareto e le frontiere di Pareto.
- Distinguere tra approcci A priori, A posteriori e Interattivi nell'ottimizzazione multiobiettivo.
- Valutare i limiti dell'aggregazione pesata classica, in particolare riguardo alle frontiere di Pareto concave.
- Spiegare i meccanismi degli algoritmi basati sulla decomposizione, inclusi l'adattamento dei pesi e la guida mediante vettori di riferimento.
🔹 Lezione 7: Approcci MOO Basati sulla Dominanza e Indicatori di Prestazione
Panoramica: Questa lezione esplora approcci basati sulla dominanza nell'Ottimizzazione Multiobiettivo (MOO), concentrandosi sulle strategie di selezione che passano dai metodi monobiettivo a quelli basati sulla dominanza e sulla diversità. Dettaglia tecniche specifiche di assegnazione della funzione obiettivo, inclusi mapping per ranghi e niching per mantenere la diversità. La lezione valuta anche i passaggi procedimentali e la complessità computazionale degli algoritmi principali di ordinamento non dominato applicati nel framework NSGA-II.
Risultati dell'apprendimento:
- Analizzare il passaggio dalla selezione monobiettivo a quella basata sulla dominanza e sulla diversità nell'assegnazione della funzione obiettivo.
- Calcolare i ranghi delle soluzioni, la mappatura della funzione obiettivo e i conteggi di nicchia utilizzando funzioni di condivisione.
- Confrontare la logica procedurale e la complessità computazionale degli algoritmi di ordinamento non dominato Base, Rapido e Efficiente.
- Illustrare il flusso di esecuzione dell'Algoritmo Genetico per Ordinamento Non Dominato (NSGA-II).
🔹 Lezione 8: Algoritmi di Stima della Distribuzione e Modellazione della Regolarità
Panoramica: Questa lezione esplora meccanismi avanzati di selezione nell'Ottimizzazione Multiobiettivo, con particolare attenzione al distanziamento di fitta di NSGA-II e agli indicatori di prestazione come IGD e Volume Ipermetrico. Si trasforma verso gli Algoritmi di Stima della Distribuzione (EDAs), che sostituiscono gli operatori genetici tradizionali con modelli probabilistici. Infine, il materiale introduce la "Modellazione della Regolarità" (MR-MOO), sfruttando le proprietà geometriche degli insiemi di Pareto per migliorare l'efficienza della ricerca.
Risultati dell'apprendimento:
- Calcolare e implementare la selezione NSGA-II: definire e calcolare il distanziamento di fitta e applicare le regole di selezione turbinata con densità.
- Valutare la prestazione dell'ottimizzazione multiobiettivo: distinguere tra indicatori di prestazione come la Distanza Generazionale (GD), la Distanza Generazionale Invertita (IGD) e il Volume Ipermetrico.
- Analizzare i meccanismi degli EDAs: spiegare lo spostamento dagli operatori di ricerca casuale a costruzione e campionamento da modelli probabilistici (UMDA, UGM, MGM).
- Modellare la regolarità nei problemi di ottimizzazione multiobiettivo: descrivere la proprietà di manifold (m-1)-dimensionale degli insiemi di Pareto e come PCA locale e mappatura nello spazio latente siano utilizzati in MR-MOO.
🔹 Lezione 9: Machine Learning: Reti Neurali, Backpropagation e Selezione del Modello
Panoramica: Questa lezione tratta la transizione dall'ottimizzazione molti-obiettivo all'architettura avanzata del machine learning e alla valutazione dei modelli. Descrive la meccanica delle Reti Perceptron Multistrato (MLP), le basi matematiche del backpropagation e varie tecniche di ottimizzazione basate sul gradiente. Inoltre, affronta questioni critiche nella selezione del modello, come il trade-off tra bias e varianza e i metodi ensemble.
Risultati dell'apprendimento:
- Identificare rimedi alla perdita di pressione di selezione nell'ottimizzazione molti-obiettivo, inclusi metodi basati sull'ipervolume e sulla decomposizione.
- Distinguere tra modelli generativi e discriminativi e il loro ruolo rispettivo nel machine learning.
- Applicare la regola Delta e il backpropagation usando regole di derivazione per aggiornare i pesi delle reti neurali.
- Valutare strategie per alleviare il sovrapposizione, in particolare regolarizzazione, stop anticipato e diverse tecniche di validazione incrociata.
- Analizzare metodi di apprendimento ensemble (Bagging, Boosting, Stacking) per gestire il trade-off tra bias e varianza e migliorare la diversità del modello.
🔹 Lezione 10: Algoritmi Memetici e Influenza dell'Apprendimento Durante la Vita
Panoramica: Questa lezione esplora gli Algoritmi Memetici (MA), che integrano l'esplorazione genetica globale con il raffinamento fenotipico locale attraverso l'apprendimento durante la vita. Esamina le differenze meccaniche tra evoluzione Lamarckiana e Baldwiniana e l'applicazione della ricerca locale nell'ottimizzazione multiobiettivo. Il materiale copre anche l'uso di strategie evolutive per ottimizzare strutture e parametri di reti neurali.
Risultati dell'apprendimento:
- Differenziare tra algoritmi evolutivi standard e algoritmi memetici in base all'inclusione dell'apprendimento durante la vita e della ricerca locale.
- Confrontare i paradigmi Lamarckiano e Baldwiniano riguardo alla trasmissione dei cambiamenti fenotipici acquisiti ai discendenti.
- Valutare l'influenza dell'Effetto Baldwin rispetto all'Effetto Nascondimento sulla velocità di evoluzione e sulla pressione di selezione.
- Descrivere la metodologia per ottimizzare matrici di connessione e parametri di peso delle Reti Neurali (NN) tramite addestramento evolutivo e basato sul gradiente.
🔹 Lezione 11: Machine Learning Evolutivo e MOML
Panoramica: Questa lezione esplora l'Ottimizzazione Multiobiettivo nel Machine Learning (MOML) come quadro per bilanciare obiettivi concorrenti nella progettazione di reti neurali, come accuratezza contro complessità. Utilizzando algoritmi come NSGA-II, il materiale dimostra come ottimizzare strutture e parametri della rete per ottenere modelli Pareto-ottimali. Il contenuto si estende a applicazioni pratiche come l'estrazione di regole, clustering multiobiettivo e estrazione robusta ai rumori di caratteristiche.
Risultati dell'apprendimento:
- Definire la base matematica della regolarizzazione basata su Pareto nel MOML, in particolare il trade-off tra errore e complessità del modello.
- Spiegare i meccanismi di rappresentazione della rete e mutazione all'interno di un quadro evolutivo.
- Analizzare frontiere Pareto-ottimali per estrarre regole decisionali interpretabili dalle reti neurali.
- Descrivere come l'ottimizzazione multiobiettivo sia applicata al clustering e all'estrazione di caratteristiche.
🔹 Lezione 12: Ottimizzazione Evolutiva Guidata dai Dati e Gestione dei Modelli
Panoramica: Questa lezione copre le motivazioni e le metodologie per l'Ottimizzazione Evolutiva Guidata dai Dati (DDEO), con focus su scenari in cui le funzioni obiettivo sono computazionalmente costose. Dettaglia il ruolo critico della Gestione dei Modelli e esplora strategie avanzate come quelle basate sull'individuo e sulla generazione. Vengono analizzati approcci di ottimizzazione bayesiana basati su modelli surrogati per bilanciare esplorazione ed exploitazione.
Risultati dell'apprendimento:
- Identificare le motivazioni fondamentali dell'ottimizzazione guidata dai dati, incluse l'intensità computazionale e il costo delle simulazioni fisiche.
- Categorizzare le strategie di gestione dei modelli (basate sull'individuo, sulla generazione e sulla popolazione) e le loro tecniche di implementazione specifiche.
- Spiegare il flusso di lavoro dell'Ottimizzazione Bayesiana e il ruolo dei Processi Gaussiani (GP) come modelli surrogati non parametrici.
🔹 Lezione 13: Ottimizzazione Bayesiana e Funzioni di Acquisizione
Panoramica: Questa lezione tratta l'applicazione avanzata dell'Ottimizzazione Bayesiana (BO) nei framework evolutivi, con particolare attenzione all'ottimizzazione assistita da surrogati. Dettaglia il passaggio dai modelli standard di Processo Gaussiano (GP) a insiemi per affrontare la "Maledizione della Dimensionalità". Il materiale esplora ulteriormente strategie specializzate per problemi multiobiettivo con costi eterogenei (HE-MOPs) e il trasferimento di conoscenza.
Risultati dell'apprendimento:
- Definire e confrontare funzioni di acquisizione comuni (LCB, EI, Campionamento di Thompson) usate per bilanciare esplorazione ed exploitazione.
- Identificare le limitazioni computazionali dei Processi Gaussiani e spiegare strategie per ridurre la dimensionalità e sostituire i modelli surrogati.
- Analizzare metodi per gestire obiettivi con costi eterogenei attraverso trasferimento di conoscenza basato su parametri e istanze.
🔹 Lezione 14: Ricerca Evolutiva di Architetture Neurali (E-NAS)
Panoramica: Questa lezione esplora l'automazione della progettazione di reti neurali attraverso algoritmi evolutivi, concentrando l'attenzione sul passaggio da architetture manuale a spazi di ricerca automatizzati. Copre il flusso E-NAS, il condivisione dei pesi nei supermodelli, e tecniche avanzate come la valutazione assistita da surrogate. Il materiale si estende anche a modelli ispirati alla biologia, inclusa la plasticità evoluta e la coevoluzione della morfologia.
Risultati dell'apprendimento:
- Definire il processo E-NAS a cinque fasi e la distinzione tra spazi di ricerca macro e micro.
- Spiegare il concetto di condivisione dei pesi nei supermodelli e identificare le principali sfide dei metodi one-shot.
- Descrivere i meccanismi di eredità dei nodi, inclusi come gli operatori di crossover e mutazione siano applicati a Grafi Diretti Aciclici (DAG).
- Valutare strategie per ridurre i costi computazionali, come metriche proxy, modelli surrogati e addestramento campionato.
🔹 Lezione 15: Machine Learning Privato e Federato
Panoramica: Questa lezione esplora la transizione dal machine learning centralizzato basato su cloud a framework distribuiti e privati. Copre le architetture fondamentali dell'Apprendimento Federato (Orizzontale e Verticale) e tecniche per migliorare l'efficienza comunicativa. La lezione discute anche l'integrazione di algoritmi evolutivi per la Ricerca Architetturale Neurale Federata (NAS) e gli Algoritmi Evolutivi Federati Sicuri.
Risultati dell'apprendimento:
- Distinguere tra apprendimento centralizzato in cloud e apprendimento distribuito sul dispositivo in termini di privacy, sicurezza e accuratezza del modello.
- Spiegare i meccanismi di tecniche fondamentali di protezione della privacy, inclusi la Privacy Differenziale, l'Encrypted Homomorfico e il Calcolo Multi-partita Sicuro.
- Analizzare il flusso operativo dell'Apprendimento Federato Orizzontale e Verticale e le relative difficoltà con dati non IID.
- Valutare metodi per l'efficienza comunicativa, come aggiornamenti asincroni a livello di strato e quantizzazione ternaria.
- Descrivere l'implementazione dell'Ottimizzazione Bayesiana Federata e degli Algoritmi Evolutivi Federati Sicuri utilizzando mascheramento Diffie-Hellman.