Machine Learning e Deep Learning

Ott 1, 2021

È l’era dei Big Data, enormi moli di informazioni facilmente accessibili e lavorabili, a fare da sfondo alla nascita e allo sviluppo dell’Intelligenza Artificiale.

Algoritmi di AI sono alla base di moltissimi servizi che ormai riteniamo comuni, scontati addirittura, come i suggerimenti di Amazon o Netflix o i chat bot che rispondono alle nostre domande su alcuni siti web o ci permettono di prenotare velocemente una visita medica.

Se pensiamo che già sessant’anni fa, nel 1959, un computer è stato in grado di battere un umano a dama, possiamo immaginare quanto potenti siano oggi gli algoritmi di AI, sviluppati con tecnologie che sono ordini di grandezza superiori a quelle di allora.

L’AI in Cherry bit

Nel nostro prodotto Cherry bit l’Artificial Intelligence svolge due ruoli fondamentali, la creazione di modelli predittivi, come nel caso del nostro osservatorio Cherry SEA, che si basa su un database di 40 milioni di atti depositati per monitorare le performance dei tribunali fallimentari italiani, e la Named Entity Recognition, che si basa su algoritmi di OCR (Optical Character Recognition, estrapolazione di un testo da una foto) per leggere le scansioni dei documenti recuperati dalle fonti ufficiali, e riconoscere ed estrarre automaticamente le informazioni più rilevanti.

 

Scopri le tecnologie di Cherry bit! >

Questi sono esempi concreti di come l’Intelligenza Artificiale permette di automatizzare, semplificare e velocizzare processi manuali, caratterizzati da una natura regolare e ripetitiva, processi quindi che quando svolti da un umano lo mettono nella posizione di imitare la macchina: su questo tipo di attività un software è naturalmente la scelta migliore per velocità e accuratezza, con il vantaggio ulteriore di liberare l’operatore umano da un compito tedioso e a basso valore aggiunto permettendogli di dedicare il suo tempo ad attività dove la sua competenza ed esperienza hanno vero valore.

 

Scopri i nostri consigli per l’applicazione di un progetto di Intelligenza Artificiale >

 

Quando invece si applica l’AI al campo dell’analisi dati si sfrutta al massimo la potenza di calcolo dei computer moderni: la capacità di un sistema intelligente di effettuare senza sforzo migliaia di operazioni al secondo permette di costruire algoritmi che in tempi infinitesimali sono in grado di analizzare enormi quantità di dati, tenendo conto di ogni variabile e migliorandosi di volta in volta grazie al fenomeno noto come apprendimento continuo.

Ma come funzionano questi algoritmi?

Seguendo due modelli fondamentali, il Machine Learning e il Deep Learning.

Machine Learning e Deep Learning si riferiscono a un insieme di algoritmi che permette a un software di prendere decisioni in maniera affine a un essere umano, simulandone il processo di apprendimento. Questi due termini però non sono intercambiabili e si riferiscono a modelli di apprendimento diversi nelle modalità e nelle finalità, su cui però c’è spesso molta confusione.

Vediamo di fare chiarezza.

Il Machine Learning

Il Machine Learning è uno dei modelli principali con cui si costruiscono sistemi di Artificial Intelligence.
Un algoritmo di ML ha due caratteristiche fondamentali: imita il modo in cui un umano apprende e si migliora continuamente con l’uso.

Per costruire un modello di Machine Learning i Data Scientists sviluppano algoritmi logici che in seguito allenano con una massiccia mole di dati, che rappresentano il punto di partenza su cui strutturare l’apprendimento della macchina.

 

L’esempio classico con cui si descrive questo processo utilizza un elenco di automobili di varie marche e modelli, che si vuole catalogare in tre classi: city car, sportive e suv.

Il primo step è sviluppare un algoritmo in grado di leggere la scheda tecnica di ciascun modello, individuandone i dati rilevanti, o “informativi” e allenarlo sull’elenco di modelli e schede tecniche che si vuole catalogare, insegnandogli a comprendere le differenze tra i diversi modelli di automobile e a organizzarle di conseguenza.

Questa operazione può essere svolta in due modi: esistono infatti due classi di algoritmi di Machine Learning, quelli Supervisionati e quelli Non Supervisionati.

Gli algoritmi supervisionati ricevono una versione dell’elenco di modelli che è già stata analizzata da un operatore umano e quindi si limita ad apprendere, per esempio, che i suv sono auto di grandi dimensioni con una cilindrata elevata: a questo punto l’algoritmo sa che ogni volta che riceverà un’auto di grandi dimensioni e di cilindrata elevata sarà probabilmente un suv.

Più è lungo l’elenco e più suv contiene, più l’algoritmo sarà allenato a identificare correttamente un suv da un’altra classe di automobile.

Se però non si ha a disposizione un elenco già classificato da un umano, com’é generalmente il caso di dataset estremamente ampi e complessi, non è possibile allenare in questo modo l’algoritmo, perché non avrebbe le informazioni necessarie per distinguere un suv da qualsiasi altra classe di automobile.

Non è la fine del mondo però, si può ricorrere a un apprendimento non supervisionato.

Nel caso di un algoritmo non supervisionato il nostro elenco viene fornito alla macchina così com’é, indicando solamente che tipo di risultato desideriamo ottenere, nel nostro esempio, che ci aspettiamo di ottenere le auto catalogate in tre classi.
L’algoritmo non supervisionato infatti viene sviluppato per essere in grado di sfruttare la sua potenza di calcolo per “raggruppare” correttamente le auto nelle tre classi anche senza che queste siano esplicitate in partenza.

Questo avviene per prima cosa allenando il software a identificare dei pattern, gruppi di dati estremamente simili che vengono identificati come “significativi”: per esempio l’algoritmo potrebbe notare che le auto nella nostra lista tendono a ricadere in tre categorie sostanziali, quelle di piccole dimensioni e di bassa cilindrata, quelle di piccole dimensioni ma di grande cilindrata e quelle di grandi dimensioni e di grande cilindrata.

Non tutte le auto cadranno perfettamente in queste tre categorie, ma l’algoritmo inizia raggruppando quelle che calzano perfettamente, per poi pian piano allocare anche quelle meno calzanti fino ad esaurire l’intera lista.

L’algoritmo ora ha catalogato tutte le auto in tre categorie; non gli è stato indicato esplicitamente che le auto grandi e di grande cilindrata sono suv, ma ciò nonostante è capace di distinguere e raggruppare insieme le auto che corrispondono a quella descrizione.

Questo metodo ovviamente ha un margine di errore (nel nostro semplice esempio un piccolo suv potrebbe essere scambiato per un’auto sportiva, perché piccolo e di grande cilindrata) ma ha il vantaggio di essere autonomo e molto flessibile: si vuole ottenere 4 categorie? L’algoritmo ripete lo stesso ragionamento ma quelle auto che, per esempio, stavano in bilico tra Sportive e City Car ora vengono categorizzate in una quarta lista (che noi definiremmo Berline, ma questo l’algoritmo non lo sa).

Il Deep Learning

Lex Friedman, Computer Scientist e Ricercatore all’MIT di Boston, definisce il deep learning come “Scalable Machine Learning”, machine learning scalabile, ovvero facilmente estendibile a dataset più ampi e a compiti più complessi.

Il Deep Learning infatti è una sottocategoria del Machine Learning che automatizza in maniera consistente gran parte del processo di allenamento e apprendimento di un modello, permettendo di accedere a dataset notevolmente più estesi e difficili da strutturare.

Un modello di Deep Learning unisce tra loro molteplici algoritmi di Machine Learning in una struttura definita Rete Neurale, in grado di gestire più dati e in maniera più elastica.

Nel nostro esempio delle automobili, una rete neurale è la soluzione migliore nel caso in cui ci trovassimo, per esempio, a dover catalogare in tre classi un elenco di foto di macchine: in un simile caso un data

 

Lex Friedman, Computer Scientist e Ricercatore all’MIT di Boston, definisce il deep learning come “Scalable Machine Learning”

scientist costruirebbe un modello di Deep Learning, sviluppando algoritmi di Machine Learning interconnessi dedicati ciascuno all’identificazione di una caratteristica fondamentale dell’automobile rappresentata, come le dimensioni, le linee, la forma della griglia anteriore, il diametro degli pneumatici e così via, selezionando individualmente le caratteristiche che distinguono una classe da un’altra, per esempio individuando una classe di veicoli grossi e “spigolosi”, con copertoni molto spessi (“suv”) e invece un’altra classe di veicoli bassi, dalle linee sinuose e dai copertoni sottili (“auto sportive”).

L’Apprendimento Continuo

In entrambi i casi la macchina allenata dispone di un database “memoria”, un dataset di casi già lavorati e catalogati nelle rispettive classi, con determinate caratteristiche. Nel mondo del Machine Learning si parla di apprendimento continuo quando l’esito della lavorazione non viene dimenticato dalla macchina, ma bensì aggiunto a questa memoria, con l’effetto di affinare ulteriormente la qualità della lavorazione.

Questo è il fattore fondamentale che rende un modello di Machine Learning una rivoluzione nel campo dell’Intelligenza Artificiale: questi algoritmi infatti non si limitano a svolgere un compito in maniera statica, ma apprendono continuamente man mano che lavorano, affinandosi e potenziandosi sempre di più in maniera completamente sponteanea.

Conclusione

L’Intelligenza Artificiale è una tecnologia dalle potenzialità enormi, ma deve essere applicata nel modo corretto.

Per trarre il massimo risultato infatti è importante avere chiaro l’obiettivo che si vuole raggiungere e conoscere molto bene il tipo di dati di cui si dispone, per poter individuare, sviluppare e applicare con successo la metodologia più corretta.

 

Come identificare la tecnologia più adatta per un progetto? >

 

 

 

Articoli correlati