Allenamento e Preparazione
Questa pagina contiene materiali di allenamento e consigli di preparazione per il International Machine Learning Competition.
🎓 Consigli di Preparazione per i Partecipanti
Qui sotto troverai un set di consigli pensati per aiutarti a prepararti per il International Machine Learning Competition. Questi suggerimenti sono studiati per supportare il tuo successo nella competizione e migliorare le tue competenze:
- Conosci il Formato della Competizione
Inizia comprendendo la struttura e i requisiti di ogni round: il Qualification Round si concentra su vari argomenti in tutte le aree del machine learning, il Pre-Final Round include un esame supervisionato basato su un recente paper di ricerca, e il Final Round testa la capacità di risolvere problemi in modo ampio e sotto pressione temporale in condizioni d'esame. Rivedere i problemi passati di IMLC ti aiuterà a comprendere la diversità e il livello di difficoltà di ogni round.
- Concentrati sugli Argomenti Principali
I problemi in IMLC provengono da una gamma di aree del machine learning, tra cui i fondamenti matematici, l'ottimizzazione e la generalizzazione, il deep learning, i frontier models, le applicazioni e la trustworthy AI. Assicurati di avere familiarità con i concetti fondamentali, gli algoritmi e gli strumenti chiave di questi argomenti per costruire una base solida per affrontare i problemi.
- Allenate le tue Capacità di Problem-Solving
Lavora per migliorare la tua intuizione, il tuo ragionamento e il tuo pensiero analitico risolvendo problemi di machine learning tratti da libri di testo, competizioni passate e dalle risorse raccomandate qui sotto. Esercitati a derivare algoritmi a mano, a leggere le curve di loss, a identificare le assunzioni e a riconoscere i modi di fallimento. Queste competenze ti aiuteranno ad affrontare efficacemente anche i problemi IMLC più impegnativi.
- Impara dagli Errori
Riflettere sui propri errori e imparare da essi è una parte essenziale della crescita in qualsiasi competizione. Per prima cosa, prova a risolvere i problemi il più possibile. Poi, confrontali con una soluzione fornita e valuta in quali passaggi hai commesso errori, correggendoli di conseguenza.
- Usa le Risorse Disponibili
Approfitta dei set di problemi passati di IMLC, dei libri di testo consigliati e delle piattaforme online per affinare le tue abilità. Inoltre, il team di IMLC è disponibile per fornire assistenza e guida; non esitare a contattarci per supporto.
- Preparati a Leggere un Paper di Ricerca (Pre-Final Round)
Il Pre-Final Round ti fornisce un recente paper di ricerca sul machine learning prima di un esame supervisionato. Esercitati a leggere e riassumere i paper, concentrandoti sull'estrazione del metodo chiave, sulla comprensione della struttura degli esperimenti e sul collegamento dei risultati ai concetti più ampi del machine learning. Leggere paper che presentano un metodo e lo valutano ti aiuterà a sviluppare questa competenza.
- Simula la Risoluzione di Problemi con Limiti di Tempo (Final Exam)
La gestione del tempo è essenziale per il Pre-Final Round e ancora di più per il Final Exam. Esercitati a risolvere problemi entro limiti di tempo prestabiliti per sviluppare il senso del ritmo.
- Collabora e Impara dagli Altri
Unisciti a gruppi di studio, club di machine learning o connettiti con gli Ambassador di IMLC per discutere strategie e condividere intuizioni. La collaborazione può aiutarti a esplorare nuovi approcci di problem-solving e a mantenere la motivazione durante tutta la preparazione.
- Goditi l'Esperienza di Apprendimento
Tieni presente che IMLC dà priorità all'apprendimento e all'espansione delle tue conoscenze durante la partecipazione. Impegnati in ogni problema e tratta ogni sfida come un'opportunità per approfondire la tua comprensione di come i modelli di machine learning funzionano, imparano e falliscono.
☑ Syllabus
Di seguito sono delineate le aree principali del machine learning trattate in IMLC, insieme ai concetti e agli strumenti chiave che sono fondamentali per ogni area. Questo syllabus
non è esaustivo, ma copre gran parte del terreno che incontrerai. La maggior parte dei problemi non richiede conoscenze altamente specializzate; al contrario, testano la comprensione generale del machine learning. Tieni presente che i round successivi si basano sui concetti dei round precedenti, quindi le idee qui sotto proseguiranno con il progredire della competizione.
- Fondamenti:
I fondamenti stabiliscono il nucleo classico su cui si costruisce tutto il resto nel machine learning. Ciò include la comprensione di come funzionano modelli come support vector machines, regressione logistica, alberi decisionali e kernel, e come derivarli a mano. La padronanza di questi concetti è essenziale per comprendere argomenti più avanzati.
- Modelli Lineari: Regressione lineare, regressione logistica, confini decisionali
- Support Vector Machines: Classificatori a margine massimo, il kernel trick
- Alberi Decisionali: Criteri di splitting, entropia, guadagno di informazione
- Funzione di Loss: \(L(\hat{y}, y)\) (Misura quanto una previsione è errata)
- Gradiente: \(\nabla_\theta L(\theta)\) (Direzione del massimo incremento della loss)
- Ottimizzazione e Generalizzazione:
Quest'area copre come le macchine imparano effettivamente: gradient descent, loss landscapes, regolarizzazione e perché i modelli che si limitano a memorizzare i dati di addestramento non riescono a generalizzare su nuovi dati. Questi concetti ti permettono di ragionare sul perché un modello si addestra bene o male.
- Gradient Descent: \(\theta \leftarrow \theta - \eta \nabla_\theta L(\theta)\) (Aggiornamento dei parametri per ridurre la loss)
- Bias-Variance Tradeoff: Bilanciare l'underfitting rispetto all'overfitting
- Regolarizzazione: \(L(\theta) + \lambda \lVert \theta \rVert^2\) (Penalizzare la complessità per migliorare la generalizzazione)
- Cross-Validation: Stimare come un modello si comporta su dati non visti
- Overfitting: Quando un modello si adatta ai dati di addestramento ma fallisce sui nuovi dati
- Deep Learning:
Il deep learning tratta le architetture costruite da strati di rappresentazioni apprese. Comprendere la backpropagation, le reti convoluzionali, le reti ricorrenti e i transformer aiuta a spiegare come i modelli moderni elaborano i dati e imparano da essi.
- Backpropagation: \(\frac{\partial L}{\partial \theta_i} = \frac{\partial L}{\partial y}\frac{\partial y}{\partial \theta_i}\) (Regola della catena applicata attraverso una rete)
- Funzioni di Attivazione: ReLU, sigmoid, softmax, e perché la non-linearità è importante
- Reti Convoluzionali: Filtri appresi per dati spaziali come le immagini
- Reti Ricorrenti: Elaborazione di sequenze portando avanti uno stato nascosto
- Attention & Transformers: Ponderare quali parti dell'input sono importanti per ogni output
- Frontier Models:
I frontier models coprono l'attuale frontiera della ricerca nel campo: large language models, fine-tuning, retrieval-augmented generation e le tecniche di efficienza che rendono i modelli grandi utilizzabili. Comprendere la scala, l'adattamento e l'efficienza aiuta a spiegare perché i modelli più grandi di oggi si comportano nel modo in cui lo fanno.
- Large Language Models: Pretraining su grandi corpora, next-token prediction
- Fine-Tuning: Adattare un modello pre-addestrato a un compito o dominio specifico
- Parameter-Efficient Fine-Tuning: Adattare un modello addestrando un piccolo set di parametri extra, come LoRA e adapter
- Retrieval-Augmented Generation: Combinare un modello con una fonte di conoscenza esterna
- Quantizzazione: Memorizzare i pesi con meno bit per ridurre l'uso della memoria
- Distillazione: Addestrare un modello più piccolo per imitare uno più grande
- Applicazioni:
Le applicazioni riguardano dove i metodi di machine learning si applicano nella pratica: computer vision, elaborazione del linguaggio naturale, sanità, sistemi di raccomandazione e scoperta scientifica. Comprendere come gli stessi metodi sottostanti si traducano in sistemi implementati aiuta a collegare la teoria all'impatto nel mondo reale.
- Computer Vision: Classificazione di immagini, object detection, segmentazione
- Natural Language Processing: Classificazione del testo, traduzione, question answering
- Sistemi di Raccomandazione: Prevedere cosa un utente potrebbe desiderare successivamente
- Applicazioni in Sanità: Supporto alla diagnosi, previsione del rischio, imaging
- Metriche di Valutazione: Precision, recall, accuracy, e quando ognuna di esse può trarre in inganno
- Sbilanciamento delle Classi: Perché l'accuracy da sola può essere una scarsa misura della qualità di un modello
- Trustworthy AI:
La trustworthy AI tratta di come i modelli falliscono, come possono essere attaccati e cosa richiede un deployment responsabile. Comprendere robustezza, equità e allineamento aiuta a spiegare perché un modello che funziona bene sulla carta può comunque causare danni nella pratica.
- Adversarial Examples: Piccole modifiche mirate all'input che ingannano un modello
- Robustezza: Quanto un modello resiste a uno shift della distribuzione o a un attacco
- Fairness: Se gli errori di un modello sono distribuiti in modo non uniforme tra i gruppi
- Alignment: Se il comportamento di un modello corrisponde alle intenzioni dei suoi progettisti
- Interpretabilità: Comprendere perché un modello ha prodotto un determinato output
Inoltre, il Pre-Final Round ti fornisce un recente paper di ricerca da studiare prima di un esame supervisionato. Il Final Exam può anche includere domande relative ai problemi precedenti (ad esempio, il paper di ricerca) del Pre-Final Round e del Qualification Round. Considera di dare un'occhiata a questa pagina per capire meglio in cosa differisce IMLC dagli altri formati di competizione e cosa aspettarti:
📖 Consigli per la Lettura
La maggior parte dei libri di testo introduttivi su machine learning, statistica e deep learning è utile e contiene le informazioni necessarie per affrontare i problemi. Per riferimento, dai un'occhiata alla seguente lista di libri consigliati:
- Fondamenti di Machine Learning:
- Stuart Russell e Peter Norvig. Artificial Intelligence: A Modern Approach. Pearson.
- Christopher M. Bishop. Pattern Recognition and Machine Learning. Springer.
- Kevin P. Murphy. Probabilistic Machine Learning: An Introduction. MIT Press.
- Aurélien Géron. Hands-On Machine Learning with Scikit-Learn, Keras, and TensorFlow. O'Reilly Media.
- Shai Shalev-Shwartz e Shai Ben-David. Understanding Machine Learning: From Theory to Algorithms. Cambridge University Press.
- Apprendimento Statistico:
- Gareth James, Daniela Witten, Trevor Hastie e Robert Tibshirani. An Introduction to Statistical Learning. Springer.
- Trevor Hastie, Robert Tibshirani e Jerome Friedman. The Elements of Statistical Learning. Springer.
- Deep Learning:
- Ian Goodfellow, Yoshua Bengio e Aaron Courville. Deep Learning. MIT Press.
- Christopher M. Bishop e Hugh Bishop. Deep Learning: Foundations and Concepts. Springer.
- Simon J.D. Prince. Understanding Deep Learning. MIT Press.
- François Chollet. Deep Learning with Python. Manning Publications.
- Aston Zhang, Zachary C. Lipton, Mu Li e Alexander J. Smola. Dive into Deep Learning. Cambridge University Press.
- Matematica per il Machine Learning:
- Marc Peter Deisenroth, A. Aldo Faisal e Cheng Soon Ong. Mathematics for Machine Learning. Cambridge University Press.
- Gilbert Strang. Introduction to Linear Algebra. Wellesley-Cambridge Press.
- Dimitri P. Bertsekas e John N. Tsitsiklis. Introduction to Probability. Athena Scientific.
- Larry Wasserman. All of Statistics: A Concise Course in Statistical Inference. Springer.
- Stephen Boyd e Lieven Vandenberghe. Convex Optimization. Cambridge University Press.
- Natural Language Processing, Vision e Reinforcement Learning:
- Daniel Jurafsky e James H. Martin. Speech and Language Processing. Pearson.
- Richard Szeliski. Computer Vision: Algorithms and Applications. Springer.
- Richard S. Sutton e Andrew G. Barto. Reinforcement Learning: An Introduction. MIT Press.