Timeline
Chat
Prospettiva
Apprendimento automatico online
Da Wikipedia, l'enciclopedia libera
Remove ads
In intelligenza artificiale, l'apprendimento automatico online è una modalità di apprendimento automatico nella quale i dati di addestramento si rendono disponibili in ordine sequenziale e, a ogni passata, vengono utilizzati per aggiornare il miglior predittore per dati futuri[1], a differenza delle tecniche di apprendimento in modalità batch (detta anche offline) che generano il miglior predittore sulla base dell'intero insieme di dati di addestramento in una sola passata. Tipicamente, l'apprendimento online viene utilizzato con problemi di apprendimento per i quali l'addestramento sull'intero insieme di dati non sia computazionalmente possibile, richiedendo quindi algoritmi out-of-core (che necessitano di memoria ausiliaria esterna). Tale modalità viene utilizzata anche in situazioni in cui è necessario che l'algoritmo si adatti dinamicamente a nuovi modelli dei dati ovvero allorché i dati stessi vengano generati in funzione del tempo come accade, ad esempio, nella previsione dei prezzi nei mercati finanziari internazionali. Gli algoritmi online possono essere soggetti a oblio catastrofico[2] (perdita di conoscenza precedentemente acquisita), un problema che può essere affrontato con approcci di apprendimento incrementale.
Remove ads
Introduzione
Nell'ambito dell'apprendimento supervisionato, si deve apprendere una funzione di , dove è lo spazio di input e lo spazio di output, che predica bene istanze che sono tratte da una distribuzione di probabilità congiunta su . In realtà, l'algoritmo di apprendimento non conosce mai la vera distribuzione sull'intera popolazione delle istanze. Invece, di solito ha accesso a un insieme di esempi di training . In tale impostazione, si definisce la funzione di perdita (loss) , con che misura la differenza tra il valore previsto e il vero valore . Idealmente l'obiettivo è individuare una funzione , dove è uno spazio di funzioni detto spazio delle ipotesi, in modo che la misura della perdita totale venga minimizzata. A seconda del tipo di modello (statistico o antagonista), è possibile lavorare con diverse nozioni di funzione-obiettivo, il che porta ad algoritmi di apprendimento differenti.
Remove ads
Prospettiva statistica
Nei modelli di apprendimento statistico, si assume che gli esempi di training siano estratti dalla vera distribuzione e che l'obiettivo sia di minimizzare il "rischio" atteso
Un paradigma comune in tale situazione è la stima di una funzione attraverso la minimizzazione del rischio empirico (anche in forma regolarizzata, tipicamente mediante regolarizzazione di Tichonov). In base alla scelta della funzione di perdita si distinguono diversi algoritmi di apprendimento popolari come i minimi quadrati regolarizzati e le macchine a vettori di supporto. Un modello online puro appartenente a tale categoria sarebbe in grado di apprendere richiedendo solo un nuovo esempio in input , il miglior predittore corrente e ulteriori informazioni memorizzate (con requisiti di memoria indipendenti dalle dimensioni dei dati di training). Per molti metodi, per esempio quelli basati su kernel non lineari, non è possibile definire una formulazione pura di apprendimento online, tuttavia si può adottare una ibrida basata su algoritmi ricorsivi definiti in modo che dipenda da e da tutti gli esempi precedenti . In tal caso non è più garantito che i requisiti di memoria siano costanti, dato che serve memorizzare tutti i dati precedenti, tuttavia l’acquisizione di un nuovo esempio richiederebbe, per l'adattamento di un nuovo modello, l'impiego un tempo minore rispetto alle tecniche di apprendimento offline, a lotti.
Una strategia comune per superare i problemi di cui sopra è quella di imparare a mini-lotti (mini-batch) che richiedono un piccolo lotto di esempi alla volta, il che può essere considerato come una forma di apprendimento pseudo-online quando è molto inferiore al numero totale di esempi. Tali tecniche vengono utilizzate in passate ripetute sui dati di addestramento ottenendo così versioni ottimizzate out-of-core di algoritmi di apprendimento automatico come, ad esempio la discesa del gradiente stocastica. Combinato con la backpropagation, questo rappresenta attualmente il metodo di addestramento standard per le reti neurali artificiali.
Remove ads
Esempi
Diversi algoritmi offline possono essere riformulati per ottenere la loro versione online.
Apprendimento continuo
L'apprendimento continuo implica il miglioramento costante del modello appreso attraverso l'elaborazione di flussi continui di informazioni.[3] La capacità di apprendimento continuo è essenziale per sistemi SW e agenti autonomi che debbano interagire in un mondo reale in continua evoluzione. Tuttavia, l'apprendimento continuo rappresenta una sfida per i modelli di apprendimento automatico e le reti neurali, poiché l'acquisizione continua di informazioni disponibili in modo incrementale da distribuzioni di dati non stazionarie porta generalmente al problemi di oblio catastrofico.
Remove ads
Implementazioni
- scikit-learn : fornisce implementazioni out-of-core di algoritmi per
- Classificazione: Percettrone, classificatore SGD, classificatore bayesiano ingenuo.
- Regressione: regressore SGD, regressore passivo-aggressivo.
- Clustering: mini-batch k-means.
- Estrazione di caratteristiche: apprendimento del dizionario in mini-batch, PCA incrementale.
Voci correlate
Paradigmi di apprendimento
- Apprendimento incrementale
- Apprendimento pigro
- Apprendimento offline, il modello opposto
- Apprendimento per rinforzo
- Apprendimento supervisionato
Algoritmi generali
- Algoritmo online
- Ottimizzazione online
- Algoritmo di streaming
- Discesa del gradiente stocastico
Modelli di apprendimento
- Teoria della risonanza adattiva
- Memoria temporale gerarchica
- algoritmo del vicino k più prossimo
- Apprendimento della quantizzazione vettoriale
- Percettrone
Remove ads
Note
Collegamenti esterni
Wikiwand - on
Seamless Wikipedia browsing. On steroids.
Remove ads