Cos’è il machine learning? Spiegazione rapida

Avete presente l’intelligenza artificiale? La I.A. o A.I. – a seconda della lingua? Ecco, il Machine Learning è un campo dell’IA. Lo si può chiamare anche apprendimento automatico, o analisi predittiva dei dati con apprendimento automatico.

Cos'è il machine learning?

Fondamenta del Machine Learning sono le metodologie e i teoremi della Data Science, la scienza che si occupa della raccolta, strutturazione e soprattutto analisi dei dati, tornata molto in voga con la moda dei Big Data – l’immensa mole di informazione che i data scientist si trovano a dover elaborare oggi giorno. La data science, a sua volta, fa uso delle moderne tecnologie e degli algoritmi dell’Informatica (con la I maiuscola, la scienza) per applicare sui dati i teoremi e le meccaniche della Matematica e della Statistica, le due colonne portanti dalle quali parte il tutto.

Non voglio fare della teoria. Vediamo uno use case che funga da esempio. Supponiamo di seguire uno specialista di machine Learning al quale é stato chiesto di realizzare una IA che sia in grado di trovare i volti dentro le fotografie. Il sistema potrà essere un software di una telecamera. Lo specialista fa questo:

  • analisi del dominio e dei dati. Raccoglie e struttura i dati. Ad esempio, accumula un migliaio di immagini con foto contenenti volti e foto di tutt’altro, magari paesaggi.
  • Progetta un sistema che prenda input variabili  e anche di grosse dimensioni e produca un output o binario (Si/No) o una stima.
  • Addestra il sistema sottoponendogli esempi assolutamente corretti. In pratica gli “insegna a dire  che” a una foto che contiene per davvero il volto -il sistema non lo sa, é lo specialista ad asserirlo come dogma- dovrà dire “Si, contiene un volto”. Poi farà lo stesso con le foto senza volti, alle quali il sistema deve rispondere “No, non contiene un volto”. Il sistema ora é una semplice memoria associativa. Tutte le foto che ha ricevuto contenenti dei volti, se le rivedrà di nuovo, potrà dire con sicurezza che sì, contengono dei visi. Idem il viceversa. Ma… se gli si presenta una foto che non era nella raccolta di esempi usata per addestrarlo (il training set) allora lui non saprà proprio che fare.
  • Il sistema ora dovrà essere migliorato con la capacità di estrarre features (caratteristiche) dalle immagini. Non importa se esse sono lievemente diverse le une dalle altre. Dovrà essere dotato di un modo per capire che due foto hanno (o meno) cose in comune. Che ci sono -o no- pattern ricorrenti. Le forme dei visi, dopotutto, hanno un qualcosa che le accomuna tutte. Non siamo tutti uguali, ma di certo i volti umani sono molto più simili fra loro rispetto a quanto non lo siano con le zampe di un gatto. Ovali, con i capelli in testa, con due buchi come occhi…
  • In questo modo il sistema non utilizzerà più solo la sua memoria ma sarà anche capace di estrarre il contenuto senza aver ricevuto prima quel vero esempio (e qui è la IA).
  • Ora gli sottoporrà un test set. Di immagini mai viste e mischiate, di varie natura. Lo farà finché non avrà raggiunto una percentuale di errore abbastanza bassa da aver raggiunto il risultato desiderato.
  • Il sistema può essere messo a regime come in prova. Le prime volte, sul campo, sbaglierà. Ma, col tempo, migliorando da solo l’estrazione delle features, grazie agli algoritmi che gli permettono di ridurre l’errore, diventerà sempre più bravo.

Come gli ultimi quattro punti vengano realizzati non penso sia necessario spiegarlo qui. Si tratta di tecniche molto avanzate di Informatica. Gli algoritmi usati sono studiati nei corsi avanzati dei corsi di laurea di, appunto, Informatica, oppure nelle magistrali di Ingegneria Informatica.

Esistono comunque strumenti che stanno iniziando ad emergere proprio per la loro semplicità di utilizzo. Ad esempio, Google DialogFlow (che sotto il cofano ha il framework TensorFlow). In ambito enterprise anche Microsoft e IBM stanno iniziando da qualche anno a spingere molto in ambito di cognitive computing. Utilizzi classici del machine Learning:

  • chatbot
  • classificazione di testo, immagini, contenuti multimediali
  • riconoscimento
    • in ambito medico, di patologie e tumori
    • in qualsiasi ambito scientifico, riconoscimento di pattern
  • automazione davanti a input simili fatti di enormi quantità di dati (Big Data)
  • Analisi predittive e analytics

Fra qualche anno i Marketplace dei chatbot (esempio classico e molto funzionale di utilizzo del machine Learning) inizieranno a comparire a fianco dei classici Store di App per mobile.

Un argomento strettamente correlato è quello della ricerca semantica. Difatti la struttura del testo e la ricerca del significato in casi come la text classification utilizza gli strumenti nati soprattutto con il Semantic web.

Sono stato veloce no? ;)

Pubblicato da Capo (Francesco G.)

Un nerd sempre alla ricerca di miti e mondi lontani. Appassionato di arti visive, storia antica, epica e del fantastico in generale. Nel tempo libero, autore di romanzi e racconti.

Lascia un commento

Il tuo indirizzo email non sarà pubblicato.

Questo sito usa Akismet per ridurre lo spam. Scopri come i tuoi dati vengono elaborati.