23/09/2017 di Redazione

Algoritmi per tutti i gusti, in cerca di domande o di risposte

Enrico Galimberti, director professional services di Teradata Italia, chiarisce le peculiarità dei diversi tipi di algortimi di machine learning: c'è chi utilizza regole predefinite e chi le crea ex novo, chi agisce liberamente e chi viene corretto se sba

immagine.jpg

Gli algoritmi di apprendimento automatico non sono tutti uguali. Il “cuore”, o per meglio dire il “cervello” dei software di intelligenza artificiale sono oggi sempre più chiacchierati, perché su di loro ricadono tantissime aspettative di innovazione in ambiti disparati, dagli analytics al servizio delle aziende alla robotica, dagli assistenti virtuali degli smartphone ai prodotti di sicurezza informatica, senza tralasciare i grandi sistemi di supercalcolo al servizio della scienza, della meteorologia, della medicina e chi più ne ha più ne metta. Ma c'è algoritmo e algoritmo. Alcuni si limitano a trovare significati fra i dati, altri cercano delle “risposte”. C'è chi ragiona secondo regole predefinite e chi le crea ex novo. Alcuni agiscono liberamente, altri vengono corretti quando sbagliano. Con l'aiuto di uno schema, Enrico Galimberti, director professional services di Teradata Italia, illustra le diverse categorie del machine learning e le loro destinazioni d'uso.

 

Enrico Galimberti, director professional services di Teradata Italia

 

 

L'albero degli algoritmi di machine learning è uno schema semplificato, utile per razionalizzare le tipologie di paradigmi di apprendimento usati dalle varie categorie di algoritmi. Esattamente come i rami degli alberi, che crescono e si rafforzano grazie alla rete di radici estese sotto terra, così il Machine Learning Tree diventa più solido se utilizza una rete di dati. Questi ultimi possono essere strutturati o non strutturati, possono coinvolgere transazioni oppure immagini, possono essere generati da sensori Internet of Things o semplicemente dal data entry. I dati sono ovunque, ma non tutti hanno il medesimo potenziale di generare valore per le aziende. Il discovery è l'attività chiave, preventiva, per poter trovare, ripulire e sistemare i dati prima di inviarli agli algoritmi di apprendimento automatico.

Machine learning senza supervisione
Questa categoria include qualsiasi algortimo il cui modello di apprendimento sia basato soltanto sui dati di input (la variabile X), senza corrispondenti variabili di output. L'obiettivo dell'apprendimento senza supervisione è quello di modellare la struttura o distribuzione sottostante, in modo da poter imparare qualcosa in più sui dati. Lo chiamiamo unsupervised learning perché non esistono risposte giuste o sbagliate e non esistono “insegnanti”. Gli algoritmi sono lasciati a loro stessi, affinché con le proprie risorse scoprano strutture interessanti all'interno dei dati.

Machine learning con supervisione
Se esistono variabili di input (X) e di output (Y) e se l'algortimo serve a comprendere la funzione di mapping tra l'input e l'output, allora è probabile che si tratti di apprendimento automatico con supervisione. Lo scopo è quello di determinare la funzione di Y = f(X) con la migliore approssimazione possibile, in modo che in presenza di nuovi dati di input si possano predire le variabili di output per quei dati. Si parla di “supervisione” perché il processo di apprendimento dell'algoritmo dai dati usati per allenare il sistema può essere paragonato ciò che accade quando un insegnante supervisiona degli allievi che imparano. Le risposte corrette già si conoscono: e l'algoritmo fa ripetutamente delle previsioni sui dati usati per il traning e viene corretto dal suo “insegnante”. L'apprendimento si interrompe quando l'algortimo raggiunge un livello di prestazione accettabile.

Apprendimento per rinforzo
Questo tipo di machine learning permette ai sistemi e agli agenti software di determinare in modo automatico i comportamenti ideali per massimizzare le performance all'interno di uno specifico contesto. Un semplice feeback di responso, noto come segnale di rinforzo, è necessario affinché l'agente apprenda il comportamento. Questa categoria di algoritmi è molto promettente: include tecnologie innovative come il Q-Learning, una tecnica di apprendimento per rinforzo usata per insegnare ai robot come prendere un dispositivo da uno specifico box e posizionarlo in un container. A prescindere dal fatto che il sistema funzioni o no, il robot memorizza l'oggetto e l'informazione e si allena a eseguire il compito con sempre maggiore velocità e precisione.

 

 

Apprendimento “profondo”
Il deep learning è una sottocategoria del machine learning e copre tutti e tre i paradigmi sopra descritti utilizzando le reti neurali artificiali ( Artificial Neural Network). Queste ultime si compongono di diversi nodi che imitano i neuroni del cervello umano. I neuroni arficiali sono collegati (ciascun link è associato a un “peso”) e interagiscono uno con l'altro, mentre i nodi possono ricevere dati di input ed eseguire su di essi alcune semplici operazioni, il cui risultato può essere trasferito ad altri neuroni. L'output di ciascun nodo è chiamato “valore di attivazione” o “valore del nodo”. Le reti neurali artificiali sono in grado di apprendere e lo fanno alterando i valori di peso dei link. Le rete neurali convoluzionali (Convolutional Neural Network) sono in gran parte simili alle normali reti neurali, se non per il fatto di essere specializzate nella lettura delle immagini come dati di input. Sono, quindi, impiegate con successo nel riconoscimento delle immagini.

Le tecniche di deep learning usano meccanismi di elaborazione dati che autoproducono le proprie regole sulla base di un'esplorazione iterativa dell’evidenza empirica disponibile. In altre parole, il ricercatore non è obbligato fin dall’inizio a specificare una precisa ipotesi (e quindi una classe di possibili regole che connettano i dati di input a quelli di output) per la quale cercare un riscontro fattuale, ma deve soltanto valutare quale sia, a suo giudizio, l’algoritmo più adatto per la determinazione della regola appropriata. Rispetto ad altre tecniche di analisi, gli algoritmi di deep learning sono utili quando si dispone di molti dati, ma non di una buona ipotesi esplicativa per organizzarli. Essi scoprono dinamicamente le regole “sfumate” che connettono vari insiemi di dati: ciò significa che le regole da selezionate dipendono criticamente dall’insieme di dati che viene loro presentato. Man mano che nuovi dati vengono aggiunti, le reti artificiali aggiusteranno le loro regole di conseguenza, integrando i vecchi dati con i nuovi, senza bisogno di alcun intervento esterno.

 

ARTICOLI CORRELATI