Supervised learning: un piano formativo per le macchine

Il machine learning, il deep learning, le reti neurali e le intelligenze artificiali diventano sempre più sofisticati. Ma come è possibile che i computer riescano a pensare e risolvere problemi autonomamente? Anche gli algoritmi hanno bisogno di addestramento per essere in grado di farlo.

Proprio come a scuola, le opzioni disponibili per l’apprendimento automatico sono diverse. Nel caso del reinforcement learning si utilizzano ricompense. L’unsupervised learning funziona invece senza alcuna supervisione da parte degli sviluppatori. Ma cosa succede esattamente nel supervised learning?

Che cos’è il supervised learning?

Il machine learning consiste nel riconoscimento, da parte dei computer, di schemi e regole. Invece di reagire unicamente all’input di un utente umano, le macchine devono essere in grado di prendere decisioni in modo autonomo sulla base delle regole apprese. Gli algoritmi possono, ad esempio, imparare a riconoscere correttamente lo spam o a comprendere il contenuto di un’immagine.

Sviluppatori e scienziati utilizzano diversi metodi per l’addestramento e il supervised learning, o apprendimento supervisionato, è probabilmente quello più diffuso. Secondo questo metodo, gli sviluppatori forniscono infatti agli algoritmi una serie preparata di dati come fonte di apprendimento. Il risultato è quindi già noto. Il compito degli algoritmi è solo quello di riconoscere il modello: perché queste informazioni appartengono alla categoria A e non alla categoria B?

L’apprendimento supervisionato si utilizza quindi per algoritmi che hanno lo scopo di categorizzare dati naturali (foto, calligrafie, lingue, ecc.). Un altro campo di applicazione tipico per il supervised learning sono i cosiddetti problemi di regressione. In questo caso, il compito degli algoritmi è quello di fare previsioni, ad esempio sull’andamento dei prezzi o sulla crescita dei clienti.

Il semi-supervised learning è invece una forma mista. Con questo metodo di apprendimento si etichetta solo una parte del set di dati. I dati restanti, non categorizzati, vengono assegnati dagli algoritmi in modo indipendente. Un esempio è il riconoscimento facciale di Facebook. Per identificare gli amici basta aggiungere i loro nomi ad alcune foto e l’algoritmo li individuerà autonomamente in quelle restanti.

Esempio di apprendimento supervisionato

Supponiamo, ad esempio, che desideriate addestrare algoritmi a distinguere le immagini dei gatti da quelle dei cani. Gli sviluppatori preparerebbero quindi un ampio insieme di dati proprio a questo scopo che conterrà immagini, tutte già provviste di tag, cioè assegnate a una categoria. Potremmo immaginare tre diversi gruppi: cane, gatto, altro. Un altro fattore importante è che la raccolta di dati sia sufficientemente variegata. In poche parole: se avete solo foto di gatti neri nel vostro set di addestramento, l’algoritmo presupporrà che tutti i gatti siano neri. L’insieme di dati dovrebbe quindi rappresentare tutte le variazioni possibili di una categoria.

Durante l’addestramento, l’algoritmo riceve prima i contenuti (non ordinati), prende autonomamente una decisione e la confronta con l’output specificato dagli sviluppatori. Il sistema verifica il proprio risultato con quello corretto e ne trae le conclusioni, che influenzano le valutazioni successive durante l’addestramento. L’addestramento continua fino al momento in cui la macchina non si avvicina abbastanza ai risultati corretti con le proprie valutazioni.

4qVRBYAdLAo.jpg Per visualizzare questo video, sono necessari i cookie di terze parti. Puoi accedere e modificare le impostazioni dei cookie qui.

Pro e contro del supervised learning

Quale metodo di apprendimento scegliere dipende fortemente dalle funzioni che l’algoritmo deve svolgere. Per i problemi di categorizzazione e regressione, il supervised learning è più indicato rispetto ad altri metodi. In generale, l’apprendimento supervisionato può essere utilizzato per addestrare specificamente gli algoritmi per un determinato campo di applicazione. Mantendo il pieno controllo sul materiale di addestramento, basta fornire input e tempo sufficienti per impostare correttamente gli algoritmi. L’elemento chiave è chiaramente l’input, i cui contenuti devono essere il più variegati e rappresentativi possibile. Poiché il supervised learning prevede inoltre che ogni elemento sia etichettato, richiede anche un particolare sforzo da parte di sviluppatori e scienziati.

Sebbene questo sforzo sia relativamente elevato, ha il vantaggio di rendere il metodo trasparente. Al contrario, l’unsupervised learning è molto più ambiguo, poiché gli algoritmi funzionano senza veri riferimenti, nel supervised learning il compito della macchina viene definito con precisione. Ma questo può rivelarsi anche uno svantaggio: gli algoritmi appresi operano anche in base alle restrizioni imposte. Quindi non dovete aspettarvi approcci creativi alle soluzioni.

In sintesi

Il supervised learning è una variante così popolare per l’addestramento degli algoritmi perché sviluppatori e scienziati mantengono il pieno controllo. Mentre i risultati delle altre varianti di addestramento rimangono spesso poco chiari, nel caso dell’apprendimento supervisionato è abbastanza evidente il risultato finale del processo di apprendimento. Questo, però,richiede un elevato sforzo manuale da parte di sviluppatori e scienziati.

Hai trovato questo articolo utile?
Per offrirti una migliore esperienza di navigazione online questo sito web usa dei cookie, propri e di terze parti. Continuando a navigare sul sito acconsenti all’utilizzo dei cookie. Scopri di più sull’uso dei cookie e sulla possibilità di modificarne le impostazioni o negare il consenso.
Page top