Perchè utilizzare Machine Learning, Deep Learning e Computer Vision

Perchè utilizzare Machine Learning, Deep Learning e Computer Vision

Machine Learning

Il Machine Learning (in Italiano Apprendimento Automatico), è una branca dell’intelligenza artificiale che si occupa principalmente di statistica computazionale, individuazione di pattern, data mining. Utilizzato sia nel campo statistico che in quello informatico, il Machine Learning è una delle soluzioni più attuali per trattare problemi che coinvolgono l’analisi di grandi quantità di dati. Il concetto di base del Machine Learning è quello di dare in pasto ad un algoritmo una grande quantità di dati dello stesso tipo (immagini, musica, testi) e fare in modo che questo riesca man mano ad apprendere autonomamente le caratteristiche ricorrenti (Features) del dataset che gli è stato mostrato. Questo apprendimento pùo essere categorizzato in due macro categorie, ovvero supervisionato e non-supervisionato. Per la prima, occorre che il dataset dato in input sia etichettato, cioè che per ogni oggetto del dataset si abbiano le informazioni che vorremmo che il nostro algoritmo riesca ad apprendere, in modo da fargliele confrontare con ciò che ha attualmente appreso e vedere quanto sia ancora lontano dalla soluzione corretta. Per la seconda, invece, non c’è bisogno di dare informazioni aggiuntive all’algoritmo, in modo che questo riesca a capire senza essere istruito, le informazioni che contraddistinguono quel preciso dataset. I problemi per la quale soluzione ci si affida al Machine Learning sono suddivisibili in tre macro categorie: Classificazione, Regressione e Clustering.

I problemi di Classificazione si specializzano nel categorizzare i diversi oggetti del dataset. Ad esempio, un modello per la classificazione di persone potrebbe riconoscere se una persona è alta, bassa o di statura media. I problemi di Regressione invece puntano a riconoscere informazioni riguardo all’oggetto in input. Sempre rimanendo nell’ambito di riconoscimento di caratteristiche umane, potremmo farci dire dal nostro modello quanto è alta una persona. Il terzo tipo di problemi, ovvero quelli di Clustering potrebbero servire, restando sullo stesso esempio, a suddividere un gruppo di persone in base alla loro altezza, senza conoscere il concetto di alto o basso nè avere informazioni sulla loro statura.

Deep Learning

Il Deep Learning rappresenta una classe di algoritmi di Machine Learning utilizzati per l’estrazione di features ad alto livello, e i relativi modelli sono caratterizzati generalmente da due o più strati nell’Hidden Layer (Strato Nascosto). Le Reti Neurali per Machine Learning sono solitamente caratterizzati da un layer di input, un layer nascosto ed uno di output e associano solitamente agli input pattern semplici tramite lo strato nascosto, per poi produrre un output di qualche tipo.

La presenza di diversi layer nello strato nascosto della Rete Neurale Profonda (Deep Neural Network), permette invece di estrarre features grezze e raffinarle mano a mano che si avanza verso l’output. Ad esempio, se vogliamo analizzare un’immagine che raffigura un volto, il primo dei layer nascosti di una Rete Neurale Profonda potrebbe estrarre come feature i bordi o gli angoli di varie parti del volto, il secondo qualche forma particolare (naso, denti, bocca) e così via fino ad avere una mappa di features ad un alto livello di astrazione.

Perchè utilizzare Machine Learning, Deep Learning e Computer Vision

Computer Vision

La Computer Vision (in Italiano Visione Artificiale) è un insieme di meccanismi che cercano di simulare la vista umana, ovvero riuscire a capire informazioni (in modo tridimensionale) a partire da immagini o video (bidimensionali). I compiti principali della branca della Computer Vision sono tre:

  1. Image Classification: passando in input un’immagine con un solo oggetto, si riesce a capire cosa è l’oggetto in questione (ad esempio riconoscere la razza di un cane)
  2. Object Recognition: prendendo in input un’immagine con più oggetti, si riesce a capire dove questi oggetti si trovano all’interno dell’immagine (ed eventualmente disegnare una Bounding Box attorno ad ognuno di essi).
  3. Object Detection: l’unione dei due precedenti, si cerca di capire sia dove sono gli oggetti nell’immagine, sia cosa sono.

Pubblicato da Vito Lavecchia

Lavecchia Vito Ingegnere Informatico (Politecnico di Bari) Email: [email protected] Sito Web: https://vitolavecchia.altervista.org

Lascia un commento

Il tuo indirizzo email non sarà pubblicato. I campi obbligatori sono contrassegnati *