Che cos’è il machine learning?

Che cos’è il machine learning?

Che cos’è il machine learning?

Nessun commento su Che cos’è il machine learning?

Questo post vuole essere il primo di una serie sul machine learning. L’intenzione è quella di descrivere tecniche, strumenti e applicazioni di questo campo di studi in modo da poterlo capire meglio, prima io e magari anche chi si troverà a passare da qui.  

Cos’è il Machine Learning. Letteralmente può essere tradotto come “apprendimento delle macchine” o reso meglio come “apprendimento automatico”, intendendo

  • per apprendimento si intende quel processo attraverso cui si diventa più abili, precisi e veloci a compiere un certo compito, in modo tale che chi ha appreso a fare qualcosa la fa meglio e più velocemente di prima.
  • per macchine si intendono i computer, più precisamente i software e ancora più nello specifico gli algoritmi che ne sono alla  base.

Quindi si tratta di scrivere dei programmi software che siano capaci di analizzare dei dati, sempre più spesso si tratta di analizzare grandissime quantità di dati, rintracciando al loro interno dei pattern ricorrenti in modo da estrarre automaticamente l’algoritmo necessario per completare il compito.

Definizioni famose di machine learning. 

Definizione di Machine Learning

Definizione di Machine Learning

Nel 1950 Arthur Samuel, un pioniere dell’Intelligenza Artificiale e della programmazione di software capaci di giocare a scacchi, diede una definizione informale di machine learning, dicendo che

il machine learning è il “campo di studio che dà ai computer l’abilità di apprendere (a realizzare un compito) senza essere esplicitamente programmati a farlo”.

Più di recente è stato Tom Mitchell, professore dell’Università di Carnegie Mellon, a dare una definizione formale di machine learning, dicendo che:

“Si dice che un programma impara da una certa esperienza E rispetto a una classe di compiti T ottenendo una performance P, se la sua perfomance nel realizzate i compiti T, misurata dalla performance P, migliora con l’esperienza E.”

  • E – Esperienza indica l’aver svolto quel compito numerose volte. Di converso alla definizione di apprendimento, l’esperienza può essere indicata come il risultato di un processo di apprendimento che rende conto della maggiore velocità con cui le decisioni vengono prese rispetto a quando l’esperienza accumulata era inferiore.
  • T – Task consiste nel compito da eseguire.
  • P – Probabiltà che il software riesca a completare il compito con successo

Più semplicemente un programma apprende dall’esperienza a realizzare un compito se le sue prestazioni migliorano con il tempo in cui ripete quel compito.

Un esempio di machine learning. Nel 2012 gli ingegneri di Google hanno creato creato un software (in particolare si trattava di una rete neurale che funzionava grazie a 16.000 processori collegati tra loro). A questo software sono sono stati mostrati i video di Youtube per tre giorni, ma senza dargli alcuna indicazione a proposito di cosa fosse contenuto nei video.

L’esperimento ha dimostrato che il software è stato capace di riconoscere il ripresentarsi di volti umani e gatti nei frame dei video di Youtube. Se volete saperne di più qui trovate tutti i dettagli di questo esperimento.

Volti umani e gatti riconosciuti dai software di GoogleQuindi il software ha fatto esperienza delle immagini presenti nei video di Youtube (E) ed è stato capace di completare con una certa probabilità di successo (P) il compito (T) di riconoscere pattern ricorrenti (i lineamenti dei volti umani e dei gatti) senza avere alcuna indicazione su cosa avesse dovuto cercare nei frame.

L’informazione che al software non fossero state date indicazioni su che tipo di pattern rintracciare nei dati che stava analizzando è alla base di una delle principali distinzioni nell’ambito del machine learning, questa caratteristica infatti permette di distinguere tra l‘apprendimento supervisionato (quando si danno al software esempi completi da usare come indicazione di cosa rintracciare nei dati) e l’apprendimento non supervisionato (quando non si dà al software alcuna indicazione di cosa cercare).

Perché si può dire anche apprendimento automatico? Il machine learning nasce come un sotto-campo dell’Intelligenza Artificiale, perché era diventata più forte la necessità di avere software capaci di apprendere a realizzare un nuovo compito automaticamente.

Ci sono dei compiti in cui l’approccio di programmazione tradizionale non è sufficiente perchè non si è capaci di scrivere un programma che risolva direttamente un certo problema. Questo avviene ad esempio quando bisogna usare una grande quantità di dati proveniente da fonti diverse, quando lo scenario da analizzare muta velocemente oppure quando non esiste esperienza umana pregressa per un certo compito o ancora quando l‘expertise necessario per un certo compito è difficile da esplicitare come avviene nel caso del riconoscimento del linguaggio umano o dei volti.

I software di machine learning sono diventati così complessi nella definizione degli algoritmi per risolvere i compiti per cui erano stati creati che i ricercatori non riescono più capire esattamente come abbia fatto il sistema ad apprendere. Un caso interessante lo ha raccontato il ricercatore Quoc V. Le alla Conferenza sul Machine Learning a San Francisco nel novembre scorso: alcuni software hanno imparato a riconoscere la differenza tra gli oggetti che sono stati mostrati loro così bene che gli esseri umani non riescono a capire facilmente come abbiano fatto e che parametri usano per distinguere un oggetto da un altro.

Si può parlare di apprendimento automatico proprio perchè il software sembra pensare indipendentemente dai suoi programmatori e i suoi processi cognitivi sono difficili da analizzare, il software si è evoluto nel tempo rispetto a quando è stato programmato diventanto talmente complesso che gli esperti umani non riescono più a capirlo. Insomma ha superato brillantemente il test di Turing.

 

Related Posts

Leave a comment

Protected by WP Anti Spam

Back to Top