Machine Learning e Deep Learning

È 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).
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 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.

Ti potrebbero interessare

- 02/10/2023
Welcome on board, è questo il titolo del nostro quarto Meetup, evento tenutosi il 27 Settembre 2023 presso la nostra sede di Milano.
- 10/07/2023
Giacomo Fava, Lead AI Engineer della startup fintech Cherry srl: «Soddisfatti di aver dimostrato che, con una tecnologia avanzata e un’approfondita conoscenza del settore, possiamo rendere più efficiente il mercato delle aste immobiliari»
- 22/05/2023
Luca Bonacina, Co-Founder & Head Of Technology della startup fintech Cherry srl: «Siamo entusiasti di poter offrire al pubblico un momento di networking in cui scoprire le migliori best practice e strategie per migliorare le proprie opportunità di business nel settore immobiliare»