Apprendimento attivo
Nel contesto dell'apprendimento automatico, l'apprendimento attivo (noto in inglese come active learning) costituisce un caso speciale di apprendimento semi-supervisionato. Il principio fondamentale dell'apprendimento attivo è che un algoritmo può raggiungere un livello di accuratezza superiore con un numero significativamente inferiore di dati etichettati, a condizione che gli sia consentito di scegliere dinamicamente i dati da cui apprendere.[1]
In molti problemi reali di intelligenza artificiale, i dati non etichettati sono abbondanti ed economici da raccogliere, mentre l'ottenimento delle relative etichette (la ground truth) richiede il consulto di esperti umani (chiamati oracoli) ed è un processo costoso in termini di tempo e risorse. L'apprendimento attivo ottimizza questo processo selezionando attivamente le istanze più informative da sottoporre all'oracolo.[2]
Scenari
In letteratura si distinguono tre scenari principali in cui l'algoritmo può formulare le proprie query:[1]
- Sintesi di query di appartenenza (Membership Query Synthesis): l'algoritmo non seleziona istanze da un dataset esistente, ma genera o sintetizza nuove istanze ex novo nello spazio delle caratteristiche , richiedendone l'etichettatura all'oracolo.
- Campionamento selettivo basato su flussi (Stream-Based Selective Sampling): I dati non etichettati vengono presentati all'algoritmo uno alla volta sotto forma di flusso continuo. Il modello deve decidere istantaneamente, sulla base di criteri di utilità, se scartare l'istanza o interpellare l'oracolo per ottenerne l'etichetta.
- Campionamento basato su pool (Pool-Based Sampling): È lo scenario più comune. Si assume l'esistenza di un grande insieme (pool) di dati non etichettati e di un piccolo insieme di dati etichettati . L'algoritmo valuta l'intero pool tramite una funzione di utilità e seleziona le migliori istanze da far etichettare.
Strategie di selezione
Il cuore di un sistema di apprendimento attivo è la strategia di selezione (o metrica di utilità). Le strategie principali includono:
Campionamento basato sull'incertezza
Il modello seleziona le istanze per le quali è meno sicuro della propria classificazione. Per un problema di classificazione multi-classe con classi, denotando con l'istanza scelta, le metriche matematiche più comuni includono:[3]
- Minima confidenza: Si seleziona l'istanza la cui classificazione più probabile ha la confidenza minore:
dove è la classe più probabile predetta dal modello.
- Margin Sampling (Campionamento di minimo margine): Si seleziona l'istanza che presenta la minore differenza di probabilità tra le due classi più probabili ( e ):
- Entropia di Shannon: Approccio basato sulla teoria dell'informazione. Si seleziona l'istanza che massimizza l'entropia della distribuzione delle probabilità delle classi:
Query-By-Committee
Questo approccio prevede il mantenimento di un insieme (committee) di modelli , addestrati tutti sui dati correnti ma rappresentanti diverse ipotesi ammissibili. Viene selezionata l'istanza su cui i membri del comitato mostrano il massimo disaccordo.[4] Il disaccordo viene spesso misurato tramite divergenza di Kullback-Leibler o voto di maggioranza.
Cambiamento atteso del modello
Questa strategia seleziona l'istanza che, una volta etichettata e inclusa nel dataset, causerebbe la massima variazione nei parametri del modello o nei suoi gradienti. Un esempio comune è la massimizzazione della norma del gradiente attesa (Expected Gradient Length, EGL) per modelli addestrati tramite discesa del gradiente:[5]
dove rappresenta il gradiente della funzione di costo.
Limiti e sfide
Nonostante l'efficienza teorica, l'apprendimento attivo presenta alcune criticità note:
- Bias di campionamento: se l'algoritmo seleziona solo istanze vicine ai confini di decisione correnti (come nell'uncertainty sampling), rischia di non esplorare altre regioni dello spazio delle caratteristiche, mancando intere classi (problema di missed cluster, o cluster mancato).[6]
- Costo computazionale: valutare la funzione di utilità su milioni di istanze non etichettate in uno scenario pool-based a ogni singola iterazione può risultare proibitivo per modelli complessi come le reti neurali profonde (Deep Active Learning).
Note
- 1 2 (EN) Burr Settles, Active Learning Literature Survey (PDF), in Computer Sciences Technical Report, n. 1648, University of Wisconsin-Madison, 2009.
- ↑ D. A. Cohn, Z. Ghahramani e M. I. Jordan, Active Learning with Statistical Models, in Journal of Artificial Intelligence Research, vol. 4, 1996, pp. 129–145, DOI:10.1613/jair.295.
- ↑ David D. Lewis e William A. Gale, A sequential algorithm for training text classifiers, in Proceedings of the 17th annual international ACM SIGIR conference on Research and development in information retrieval, Springer-Verlag, 1994, pp. 3–12, DOI:10.5555/188490.188495.
- ↑ (EN) H. S. Seung, M. Opper e H. Sompolinsky, Query by committee, in Proceedings of the fifth annual workshop on Computational learning theory, ACM, 1992-07, pp. 287–294, DOI:10.1145/130385.130417.
- ↑ Burr Settles, Mark Craven e Soumya Ray, Multiple-Instance Active Learning, in Advances in Neural Information Processing Systems, vol. 20, Curran Associates, Inc., 2007.
- ↑ Sanjoy Dasgupta, Two faces of active learning, in Theoretical Computer Science, vol. 412, n. 19, 2011, pp. 1767–1781, DOI:10.1016/j.tcs.2010.12.054.