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]

  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.
  2. 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.
  3. 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. 1 2 (EN) Burr Settles, Active Learning Literature Survey (PDF), in Computer Sciences Technical Report, n. 1648, University of Wisconsin-Madison, 2009.
  2. ↑ 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.
  3. ↑ 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.
  4. ↑ (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.
  5. ↑ Burr Settles, Mark Craven e Soumya Ray, Multiple-Instance Active Learning, in Advances in Neural Information Processing Systems, vol. 20, Curran Associates, Inc., 2007.
  6. ↑ 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.

Voci correlate